dav/main.c

changeset 35
ad0c9dacd7e3
parent 34
1b87b3b1921e
child 36
c8755c87ce7f
equal deleted inserted replaced
34:1b87b3b1921e 35:ad0c9dacd7e3
194 free(res_url); 194 free(res_url);
195 } 195 }
196 196
197 197
198 int cmd_list(CmdArgs *a) { 198 int cmd_list(CmdArgs *a) {
199 if(a->argc == 0) { 199 if(a->argc != 1) {
200 fprintf(stderr, "Too few arguments\n"); 200 fprintf(stderr, "Too %s arguments\n", a->argc < 1 ? "few":"many");
201 return -1; 201 return -1;
202 } 202 }
203 203
204 DavSession *sn = NULL; 204 DavSession *sn = NULL;
205 char *url = a->argv[0]; 205 char *url = a->argv[0];
425 } 425 }
426 } 426 }
427 } 427 }
428 428
429 int cmd_get(CmdArgs *a) { 429 int cmd_get(CmdArgs *a) {
430 if(a->argc == 0) { 430 if(a->argc != 1) {
431 fprintf(stderr, "Too few arguments\n"); 431 // TODO: change this, when get supports retrieval of multiple files
432 fprintf(stderr, "Too %s arguments\n", a->argc < 1 ? "few":"many");
432 return -1; 433 return -1;
433 } 434 }
434 435
435 DavSession *sn = NULL; 436 DavSession *sn = NULL;
436 char *url = a->argv[0]; 437 char *url = a->argv[0];
616 617
617 return 0; 618 return 0;
618 } 619 }
619 620
620 int cmd_put(CmdArgs *a) { 621 int cmd_put(CmdArgs *a) {
621 if(a->argc < 2) { 622 if(a->argc != 2) {
622 fprintf(stderr, "Too few arguments\n"); 623 // TODO: change, when put supports multiple files (however it should do)
624 fprintf(stderr, "Too %s arguments\n", a->argc < 2 ? "few":"many");
623 return -1; 625 return -1;
624 } 626 }
625 627
626 DavSession *sn = NULL; 628 DavSession *sn = NULL;
627 char *url = a->argv[0]; 629 char *url = a->argv[0];
769 return 0; 771 return 0;
770 } 772 }
771 773
772 774
773 int cmd_remove(CmdArgs *a) { 775 int cmd_remove(CmdArgs *a) {
774 if(a->argc < 1) { 776 if(a->argc != 1) {
775 fprintf(stderr, "Too few arguments\n"); 777 // TODO: change, when removal of multiple files is supported
778 fprintf(stderr, "Too %s arguments\n", a->argc < 1 ? "few":"many");
776 return -1; 779 return -1;
777 } 780 }
778 781
779 DavSession *sn = NULL; 782 DavSession *sn = NULL;
780 char *url = a->argv[0]; 783 char *url = a->argv[0];
803 806
804 return 0; 807 return 0;
805 } 808 }
806 809
807 int cmd_mkdir(CmdArgs *a) { 810 int cmd_mkdir(CmdArgs *a) {
808 if(a->argc < 1) { 811 if(a->argc != 1) {
809 fprintf(stderr, "Too few arguments\n"); 812 // TODO: change, when creation of multiple dirs is supported
813 fprintf(stderr, "Too %s arguments\n", a->argc < 1 ? "few":"many");
810 return -1; 814 return -1;
811 } 815 }
812 816
813 DavSession *sn = NULL; 817 DavSession *sn = NULL;
814 char *url = a->argv[0]; 818 char *url = a->argv[0];
859 struct tm *date = gmtime(&now); 863 struct tm *date = gmtime(&now);
860 char str[32]; 864 char str[32];
861 putenv("LC_TIME=C"); 865 putenv("LC_TIME=C");
862 size_t len = strftime(str, 32, "%a, %d %b %Y %H:%M:%S GMT\n", date); 866 size_t len = strftime(str, 32, "%a, %d %b %Y %H:%M:%S GMT\n", date);
863 fwrite(str, 1, len, stdout); 867 fwrite(str, 1, len, stdout);
864 } else { 868 } else if (a->argc == 1) {
865 DavSession *sn = NULL; 869 DavSession *sn = NULL;
866 char *url = a->argv[0]; 870 char *url = a->argv[0];
867 char *root = NULL; 871 char *root = NULL;
868 char *path = NULL; 872 char *path = NULL;
869 url_get_parts(url, &root, &path); 873 url_get_parts(url, &root, &path);
882 if(dav_exists(res) && date) { 886 if(dav_exists(res) && date) {
883 printf("%s\n", date); 887 printf("%s\n", date);
884 } else { 888 } else {
885 return -1; 889 return -1;
886 } 890 }
887 } 891 return 0;
888 return 0; 892 } else {
893 fprintf(stderr, "Too many arguments\n");
894 return -1;
895 }
889 } 896 }
890 897
891 int cmd_sync(CmdArgs *a) { 898 int cmd_sync(CmdArgs *a) {
892 if(a->argc < 2) { 899 if(a->argc < 2) {
893 fprintf(stderr, "Too few arguments\n"); 900 fprintf(stderr, "Too few arguments\n");

mercurial