Lines Matching refs:dirp
44 DIR *dirp = (DIR *)malloc(sizeof(DIR));
48 if (dirp == 0) {
66 dirp->path = (char *)malloc(strlen(dirname) + 5);
67 if (dirp->path == 0) {
68 free(dirp);
72 strcpy(dirp->path, dirname);
74 fattr = GetFileAttributes(dirp->path);
76 free(dirp->path);
77 free(dirp);
81 free(dirp->path);
82 free(dirp);
88 if (dirp->path[1] == ':'
89 && (dirp->path[2] == '\0'
90 || (dirp->path[2] == '\\' && dirp->path[3] == '\0'))) {
92 strcat(dirp->path, "*.*");
94 strcat(dirp->path, "\\*.*");
97 dirp->handle = FindFirstFile(dirp->path, &dirp->find_data);
98 if (dirp->handle == INVALID_HANDLE_VALUE) {
100 free(dirp->path);
101 free(dirp);
106 return dirp;
110 readdir(DIR *dirp)
112 if (dirp->handle == INVALID_HANDLE_VALUE) {
116 strcpy(dirp->dirent.d_name, dirp->find_data.cFileName);
118 if (!FindNextFile(dirp->handle, &dirp->find_data)) {
123 FindClose(dirp->handle);
124 dirp->handle = INVALID_HANDLE_VALUE;
127 return &dirp->dirent;
131 closedir(DIR *dirp)
133 if (dirp->handle != INVALID_HANDLE_VALUE) {
134 if (!FindClose(dirp->handle)) {
138 dirp->handle = INVALID_HANDLE_VALUE;
140 free(dirp->path);
141 free(dirp);
146 rewinddir(DIR *dirp)
148 if (dirp->handle != INVALID_HANDLE_VALUE) {
149 FindClose(dirp->handle);
151 dirp->handle = FindFirstFile(dirp->path, &dirp->find_data);