-
- size = sizeof(char *) * (globbuf.gl_pathc + 1);
- for(i = 0; i < globbuf.gl_pathc; i++)
- size += strlen(globbuf.gl_pathv[i]) + 1;
-
- configs = malloc(size);
- if (!configs)
- return NULL;
-
- memset(configs, 0, size);
- buf = (char *) &configs[globbuf.gl_pathc + 1];
- for(i = 0; i < globbuf.gl_pathc; i++) {
- configs[i] = buf;
- strcpy(buf, globbuf.gl_pathv[i]);
- buf += strlen(buf) + 1;
- }
- return configs;