dav/main.c

changeset 309
8a474d2ad209
parent 305
c3d98b2cccf3
child 315
7db4dbf4e6f9
equal deleted inserted replaced
308:82275f589d8d 309:8a474d2ad209
703 return ret; 703 return ret;
704 } 704 }
705 705
706 int get_resource(Repository *repo, DavResource *res, CmdArgs *a, char *out) { 706 int get_resource(Repository *repo, DavResource *res, CmdArgs *a, char *out) {
707 size_t outlen = strlen(out); 707 size_t outlen = strlen(out);
708 // print some status message in recursive mode 708
709 if(cmd_getoption(a, "recursive")) { 709 if(res->iscollection) {
710 printf("get: %s\n", res->path); 710 printf("get: %s\n", res->path);
711 } 711
712
713 if(res->iscollection) {
714 // create directory 712 // create directory
715 if(outlen != 0) { 713 if(outlen != 0) {
716 mode_t mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH; 714 mode_t mode = S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH;
717 int ret = util_mkdir(out, mode); 715 int ret = util_mkdir(out, mode);
718 if(ret != 0 && errno != EEXIST) { 716 if(ret != 0 && errno != EEXIST) {
733 } 731 }
734 child = child->next; 732 child = child->next;
735 } 733 }
736 734
737 return 0; 735 return 0;
736 } else if(cmd_getoption(a, "structure")) {
737 // download only directory structure
738 // this is a hidden feature and will be replaced in the future
739 return 0;
740 }
741
742 // print some status message in recursive mode
743 if(cmd_getoption(a, "recursive")) {
744 printf("get: %s\n", res->path);
738 } 745 }
739 746
740 FILE *fout = !strcmp(out, "-") ? stdout : fopen(out, "wb"); 747 FILE *fout = !strcmp(out, "-") ? stdout : fopen(out, "wb");
741 if(!fout) { 748 if(!fout) {
742 fprintf(stderr, "cannot open output file\n"); 749 fprintf(stderr, "cannot open output file\n");

mercurial