dav/main.c

changeset 138
6a3248e22d58
parent 136
59058927b885
child 139
c6424aebcf5e
equal deleted inserted replaced
137:01cb9aabff05 138:6a3248e22d58
399 print_func = ls_print_elm; 399 print_func = ls_print_elm;
400 } 400 }
401 401
402 DavResource *child = ls->children; 402 DavResource *child = ls->children;
403 while(child) { 403 while(child) {
404 if(child->name[0] != '.' || show_all) { 404 print_func(child, a);
405 print_func(child, a);
406 }
407 child = child->next; 405 child = child->next;
408 } 406 }
409 407
410 // leave loop 408 // leave loop
411 ret = 0; 409 ret = 0;
507 return str; 505 return str;
508 } 506 }
509 507
510 void ls_print_list_elm(DavResource *res, CmdArgs *a) { 508 void ls_print_list_elm(DavResource *res, CmdArgs *a) {
511 int recursive = cmd_getoption(a, "recursive") ? 1 : 0; 509 int recursive = cmd_getoption(a, "recursive") ? 1 : 0;
510 int show_all = cmd_getoption(a, "all") ? 1 : 0;
511 if(res->name[0] == '.' && !show_all) {
512 return;
513 }
512 514
513 char flags[16]; 515 char flags[16];
514 memset(flags, '-', 15); 516 memset(flags, '-', 15);
515 flags[2] = '\0'; 517 flags[2] = '\0';
516 518
550 free(size); 552 free(size);
551 553
552 if(recursive) { 554 if(recursive) {
553 DavResource *child = res->children; 555 DavResource *child = res->children;
554 while(child) { 556 while(child) {
555 ls_print_list_elm(child, a); 557 //ls_print_list_elm(child, a);
558 if(child->name[0] != '.' || show_all) {
559 ls_print_list_elm(child, a);
560 }
556 child = child->next; 561 child = child->next;
557 } 562 }
558 } 563 }
559 } 564 }
560 565
561 void ls_print_elm(DavResource *res, CmdArgs *a) { 566 void ls_print_elm(DavResource *res, CmdArgs *a) {
562 int recursive = cmd_getoption(a, "recursive") ? 1 : 0; 567 int recursive = cmd_getoption(a, "recursive") ? 1 : 0;
568 int show_all = cmd_getoption(a, "all") ? 1 : 0;
569 if(res->name[0] == '.' && !show_all) {
570 return;
571 }
572
563 char *name = recursive ? res->path+1 : res->name; 573 char *name = recursive ? res->path+1 : res->name;
564 printf("%s\n", name); 574 printf("%s\n", name);
565 if(recursive) { 575 if(recursive) {
566 DavResource *child = res->children; 576 DavResource *child = res->children;
567 while(child) { 577 while(child) {

mercurial