finished the command line parser
This commit is contained in:
parent
16d89b9ad0
commit
36dcba413f
20
main.c
20
main.c
|
@ -23,13 +23,27 @@ static struct fuse_operations fs_oper = {
|
|||
.read = fs_read,
|
||||
};
|
||||
|
||||
static void fs_usage()
|
||||
{
|
||||
fprintf(stderr,
|
||||
"usage: mount-http-dir [options] URL mount_point\n");
|
||||
abort();
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
network_init("http://127.0.0.1/~fangfufu/");
|
||||
/*
|
||||
* Copied from:
|
||||
* https://www.cs.nmsu.edu/~pfeiffer/fuse-tutorial/src/bbfs.c
|
||||
*/
|
||||
if ((argc < 3) || (argv[argc-2][0] == '-') || (argv[argc-1][0] == '-')) {
|
||||
fs_usage();
|
||||
}
|
||||
|
||||
// return fuse_main(argc - 1, argv + 1, &fs_oper, NULL);
|
||||
network_init(argv[argc-2]);
|
||||
argv[argc-2] = argv[argc-1];
|
||||
argv[argc-1] = NULL;
|
||||
argc--;
|
||||
return fuse_main(argc, argv, &fs_oper, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** \brief return the attributes for a single file indicated by path */
|
||||
|
|
|
@ -65,8 +65,10 @@ static char *url_append(const char *url, const char *sublink)
|
|||
}
|
||||
|
||||
/* This is the single thread version */
|
||||
#pragma GCC diagnostic ignored "-Wunused-function"
|
||||
static void do_transfer(CURL *curl)
|
||||
{
|
||||
#pragma GCC diagnostic ignored "-Wformat"
|
||||
fprintf(stderr, "do_transfer(): handle %x\n", curl);
|
||||
fflush(stderr);
|
||||
CURLcode res = curl_easy_perform(curl);
|
||||
|
@ -80,6 +82,7 @@ static void do_transfer(CURL *curl)
|
|||
}
|
||||
|
||||
/* This is the version that uses curl multi handle */
|
||||
#pragma GCC diagnostic ignored "-Wunused-function"
|
||||
static void do_transfer_(CURL *curl)
|
||||
{
|
||||
/* Add the transfer handle */
|
||||
|
@ -171,9 +174,9 @@ WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp)
|
|||
void network_init(const char *url)
|
||||
{
|
||||
curl_global_init(CURL_GLOBAL_ALL);
|
||||
// curl_multi = curl_multi_init();
|
||||
// curl_multi_setopt(curl_multi, CURLMOPT_MAXCONNECTS,
|
||||
// (long)NETWORK_MAXIMUM_CONNECTION);
|
||||
curl_multi = curl_multi_init();
|
||||
curl_multi_setopt(curl_multi, CURLMOPT_MAXCONNECTS,
|
||||
(long)NETWORK_MAXIMUM_CONNECTION);
|
||||
ROOT_LINK_TBL = LinkTable_new(url);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue