dav/main.c

changeset 264
94c0a938b66c
parent 258
571b62700df6
child 270
0edfb4c0e7f8
equal deleted inserted replaced
263:f24b730cb75e 264:94c0a938b66c
60 60
61 //define DO_THE_TEST 61 //define DO_THE_TEST
62 #include <libidav/davqlparser.h> 62 #include <libidav/davqlparser.h>
63 #include <libidav/davqlexec.h> 63 #include <libidav/davqlexec.h>
64 void test() { 64 void test() {
65 65
66 } 66 }
67 67
68 int main(int argc, char **argv) { 68 int main(int argc, char **argv) {
69 if(argc < 2) { 69 if(argc < 2) {
70 fprintf(stderr, "Missing command\n"); 70 fprintf(stderr, "Missing command\n");
1132 continue; 1132 continue;
1133 } 1133 }
1134 print_resource_error(sn, res->path); 1134 print_resource_error(sn, res->path);
1135 return -1; 1135 return -1;
1136 } 1136 }
1137 break;
1137 } 1138 }
1138 1139
1139 char *value = namespace ? 1140 char *value = namespace ?
1140 dav_get_property_ns(res, namespace, property) : 1141 dav_get_property_ns(res, namespace, property) :
1141 dav_get_property(res, property); 1142 dav_get_property(res, property);
1201 continue; 1202 continue;
1202 } 1203 }
1203 print_resource_error(sn, res->path); 1204 print_resource_error(sn, res->path);
1204 fprintf(stderr, "Cannot set property.\n"); 1205 fprintf(stderr, "Cannot set property.\n");
1205 ret = -1; 1206 ret = -1;
1206 break; 1207 }
1207 } 1208 break;
1208 } 1209 }
1209 1210
1210 free(path); 1211 free(path);
1211 return ret; 1212 return ret;
1212 } 1213 }
1227 return -1; 1228 return -1;
1228 } 1229 }
1229 1230
1230 DavResource *res = dav_resource_new(sn, path); 1231 DavResource *res = dav_resource_new(sn, path);
1231 for(int i=0;i<2;i++) { 1232 for(int i=0;i<2;i++) {
1232 if(dav_lock(res)) { 1233 if(!dav_lock(res)) {
1233 if(i == 0 && sn->error == DAV_UNAUTHORIZED && request_auth(repo, sn, a)) { 1234 break;
1234 continue; 1235 }
1235 } 1236 if(i == 0 && sn->error == DAV_UNAUTHORIZED && request_auth(repo, sn, a)) {
1236 print_resource_error(sn, res->path); 1237 continue;
1237 return -1; 1238 }
1238 } 1239 print_resource_error(sn, res->path);
1240 return -1;
1239 } 1241 }
1240 1242
1241 DavLock *lock = dav_get_lock(sn, res->path); 1243 DavLock *lock = dav_get_lock(sn, res->path);
1242 if(!lock) { 1244 if(!lock) {
1243 // this should really not happen 1245 // this should really not happen
1302 } 1304 }
1303 1305
1304 int ret = 0; 1306 int ret = 0;
1305 DavResource *res = dav_resource_new(sn, path); 1307 DavResource *res = dav_resource_new(sn, path);
1306 for(int i=0;i<2;i++) { 1308 for(int i=0;i<2;i++) {
1307 if(dav_unlock(res)) { 1309 if(!dav_unlock(res)) {
1308 if(i == 0 && sn->error == DAV_UNAUTHORIZED && request_auth(repo, sn, a)) {
1309 continue;
1310 }
1311 print_resource_error(sn, res->path);
1312 ret = -1;
1313 break; 1310 break;
1314 } 1311 }
1312 if(i == 0 && sn->error == DAV_UNAUTHORIZED && request_auth(repo, sn, a)) {
1313 continue;
1314 }
1315 print_resource_error(sn, res->path);
1316 ret = -1;
1317 break;
1315 } 1318 }
1316 1319
1317 dav_session_destroy(sn); 1320 dav_session_destroy(sn);
1318 return ret; 1321 return ret;
1319 } 1322 }

mercurial