439 DIR *local_dir = opendir(local_path); |
439 DIR *local_dir = opendir(local_path); |
440 |
440 |
441 if(!local_dir) { |
441 if(!local_dir) { |
442 fprintf(stderr, "Cannot open directory %s\n", local_path); |
442 fprintf(stderr, "Cannot open directory %s\n", local_path); |
443 } else { |
443 } else { |
444 #ifdef _WIN32 |
444 struct dirent *ent; |
445 long namemax = 255; |
445 while((ent = readdir(local_dir)) != NULL) { |
446 #else |
|
447 long namemax = namemax = pathconf(path, _PC_NAME_MAX); |
|
448 #endif |
|
449 if(namemax == 0) { |
|
450 namemax = 255; |
|
451 } |
|
452 struct dirent *ent = malloc(sizeof(struct dirent) + namemax + 1); |
|
453 struct dirent *res = NULL; |
|
454 while(!readdir_r(local_dir, ent, &res) && res) { |
|
455 if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..")) { |
446 if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..")) { |
456 continue; |
447 continue; |
457 } |
448 } |
458 |
449 |
459 char *new_path = util_concat_path(p, ent->d_name); |
450 char *new_path = util_concat_path(p, ent->d_name); |