|
Packit Service |
8bf002 |
/*
|
|
Packit Service |
8bf002 |
* rm_once.c 2002/08, 2004/11 kmatsui
|
|
Packit Service |
8bf002 |
* to remove '#pragma once' line from the top of header files
|
|
Packit Service |
8bf002 |
*/
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
#include "stdio.h"
|
|
Packit Service |
8bf002 |
#include "stdlib.h"
|
|
Packit Service |
8bf002 |
#include "string.h"
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
main( int argc, char ** argv)
|
|
Packit Service |
8bf002 |
{
|
|
Packit Service |
8bf002 |
char buf[ BUFSIZ];
|
|
Packit Service |
8bf002 |
char *once = "\n#pragma once\n\n";
|
|
Packit Service |
8bf002 |
char *tmp = "tmp.once";
|
|
Packit Service |
8bf002 |
char *fname;
|
|
Packit Service |
8bf002 |
FILE *fp_in, *fp_out;
|
|
Packit Service |
8bf002 |
int i;
|
|
Packit Service |
8bf002 |
char *cp;
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
while (*++argv) {
|
|
Packit Service |
8bf002 |
if ((fp_in = fopen( *argv, "r")) != NULL) {
|
|
Packit Service |
8bf002 |
for (cp = buf, i = 0; i < 3; i++, cp += strlen( cp))
|
|
Packit Service |
8bf002 |
fgets( cp, BUFSIZ, fp_in);
|
|
Packit Service |
8bf002 |
if (strcmp( buf, once) != 0) {
|
|
Packit Service |
8bf002 |
fprintf( stderr, "Skipped %s\n", *argv);
|
|
Packit Service |
8bf002 |
fclose( fp_in);
|
|
Packit Service |
8bf002 |
continue;
|
|
Packit Service |
8bf002 |
}
|
|
Packit Service |
8bf002 |
fprintf( stderr, "Converted %s\n", *argv);
|
|
Packit Service |
8bf002 |
fp_out = fopen( tmp, "w");
|
|
Packit Service |
8bf002 |
while (fgets( buf, BUFSIZ, fp_in) != NULL)
|
|
Packit Service |
8bf002 |
fputs( buf, fp_out);
|
|
Packit Service |
8bf002 |
fclose( fp_in);
|
|
Packit Service |
8bf002 |
fclose( fp_out);
|
|
Packit Service |
8bf002 |
remove( *argv);
|
|
Packit Service |
8bf002 |
rename( tmp, *argv);
|
|
Packit Service |
8bf002 |
}
|
|
Packit Service |
8bf002 |
}
|
|
Packit Service |
8bf002 |
return 0;
|
|
Packit Service |
8bf002 |
}
|