43 #include <libidav/session.h> |
43 #include <libidav/session.h> |
44 #include <libidav/xml.h> |
44 #include <libidav/xml.h> |
45 #include "config.h" |
45 #include "config.h" |
46 #include "error.h" |
46 #include "error.h" |
47 #include "assistant.h" |
47 #include "assistant.h" |
|
48 #include "system.h" |
48 #include "main.h" |
49 #include "main.h" |
49 |
50 |
50 static DavContext *ctx; |
51 static DavContext *ctx; |
51 |
52 |
52 static int printxmlerror = 1; |
53 static int printxmlerror = 1; |
888 return 0; |
889 return 0; |
889 } |
890 } |
890 |
891 |
891 int isstdout = !strcmp(out, "-"); |
892 int isstdout = !strcmp(out, "-"); |
892 if(cmd_getoption(a, "keep") && !isstdout) { |
893 if(cmd_getoption(a, "keep") && !isstdout) { |
893 struct stat s; |
894 SYS_STAT s; |
894 if(stat(out, &s)) { |
895 if(sys_stat(out, &s)) { |
895 if(errno != ENOENT) { |
896 if(errno != ENOENT) { |
896 perror("stat"); |
897 perror("stat"); |
897 } |
898 } |
898 } else { |
899 } else { |
899 if(cmd_getoption(a, "recursive")) { |
900 if(cmd_getoption(a, "recursive")) { |
906 // print some status message in recursive mode |
907 // print some status message in recursive mode |
907 if(cmd_getoption(a, "recursive")) { |
908 if(cmd_getoption(a, "recursive")) { |
908 printf("get: %s\n", res->path); |
909 printf("get: %s\n", res->path); |
909 } |
910 } |
910 |
911 |
911 FILE *fout = isstdout ? stdout : fopen(out, "wb"); |
912 FILE *fout = isstdout ? stdout : sys_fopen(out, "wb"); |
912 if(!fout) { |
913 if(!fout) { |
913 fprintf(stderr, "cannot open output file\n"); |
914 fprintf(stderr, "cannot open output file\n"); |
914 return -1; |
915 return -1; |
915 } |
916 } |
916 |
917 |