Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DIR* ptr_dir = opendir(c_Localpath);
- char** c_namesLocal = calloc(1, 256);
- size_t numElements = 0;
- int returnCode =0;
- struct dirent ptr_PrevDirEntry;
- struct dirent* ptr_DirEntry = NULL;
- returnCode = readdir_r(ptr_dir, &ptr_PrevDirEntry,
- &ptr_DirEntry);
- while ((returnCode ==0) && (ptr_DirEntry != NULL)) {
- char* name = c_namesLocal[numElements];
- strcpy(name, ptr_DirEntry->d_name);
- ptr_PrevDirEntry = *ptr_DirEntry;
- returnCode = readdir_r(ptr_dir, &ptr_PrevDirEntry,
- &ptr_DirEntry);
- numElements++;
- c_namesLocal = realloc(c_namesLocal, 256 * numElements);
- }
- char* name = c_namesLocal[numElements];
- strcpy(name, ptr_DirEntry->d_name);
- // You no longer need '*name'
- c_namesLocal[numElements] = strdup(ptr_DirEntry->d_name);
- if (NULL == (c_namesLocal[numElements] = strdup(ptr_DirEntry->d_name)))
- {
- // signal out of memory and return
- }
- DIR* ptr_dir = opendir(c_Localpath);
- char** c_namesLocal = calloc(1, 256);
- size_t numElements = 0;
- int returnCode =0;
- struct dirent *ptr_PrevDirEntry = NULL;
- struct dirent *ptr_DirEntry = NULL;
- int len_entry;
- len_entry = offsetof(struct dirent, d_name) + fpathconf(dirfd(ptr_dir), _PC_NAME_MAX) + 1;
- ptr_PrevDirEntry = malloc(len_entry);
- if(!ptr_PrevDirEntry)
- exit(0);
- for(;;){
- readdir_r(ptr_dir, ptr_PrevDirEntry, &ptr_DirEntry);
- if(!ptr_DirEntry)
- break;
- else
- {
- char* name = c_namesLocal[numElements];
- //Perform copying or do whatever you want with the file entry read from the dir "c_Localpath"
- strcpy(name, ptr_DirEntry->d_name);
- numElements++;
- c_namesLocal = realloc(c_namesLocal, 256 * numElements);
- }
- }
- //free "ptr_PrevDirEntry" before returning and take care of "c_namesLocal" as well.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement