| #include <stdio.h> |
| #include <direct.h> |
| #include <string.h> |
| |
| /* Copy files from source directories to ./src changing |
| file names and #include names to 8x3 lower case */ |
| |
| char *usage = "You must be in the \"pc\" directory.\n"; |
| char *list[] = {"..\\Include", "..\\Modules", "..\\Objects", "..\\Parser", "..\\Python", ".", 0}; |
| main() |
| { |
| DIR *dpath; |
| struct dirent *dir; |
| int len; |
| char **plist; |
| char *pt1, *pt2, *name; |
| char dest_path[256], src_path[256], buf256[256]; |
| FILE *fpin, *fpout; |
| |
| for (plist = list; *plist; plist++){ |
| if ((dpath = opendir(*plist)) == NULL){ |
| printf(usage); |
| return 1; |
| } |
| |
| while (dir = readdir(dpath)){ |
| name = dir->d_name; |
| len = strlen(name); |
| if (len > 2 && name[len - 2] == '.' && |
| (name[len - 1] == 'c' || name[len - 1] == 'h')){ |
| strcpy(buf256, name); |
| if (len > 10){ |
| buf256[8] = '.'; |
| buf256[9] = name[len - 1]; |
| buf256[10] = 0; |
| } |
| strlwr(buf256); |
| strncpy(src_path, *plist, 256); |
| strncat(src_path, "\\", 256); |
| strncat(src_path, name, 256); |
| strncpy(dest_path, ".\\src\\", 256); |
| strncat(dest_path, buf256, 256); |
| printf("Copying %-30s to %s\n", src_path, dest_path); |
| fpin = fopen(src_path, "r"); |
| fpout = fopen(dest_path, "w"); |
| while (fgets(buf256, 256, fpin)){ |
| if (!strncmp(buf256, "#include", 8)){ |
| strlwr(buf256); |
| if ((pt1 = strstr(buf256, "\"")) && |
| (pt2 = strstr(buf256, ".")) && |
| (*(pt2 + 1) == 'h') && |
| (pt2 - pt1 > 9)){ |
| for (pt1 += 9; *pt2; pt1++, pt2++) |
| *pt1 = *pt2; |
| *pt1 = 0; |
| } |
| } |
| fputs(buf256, fpout); |
| } |
| fclose(fpin); |
| fclose(fpout); |
| } |
| } |
| closedir(dpath); |
| } |
| return 0; |
| } |