version 1.7, 2011/05/02 06:39:51 |
version 1.9, 2013/11/06 00:03:58 |
|
|
/* $OpenXM: OpenXM/src/util/oxreplace.c,v 1.6 2009/02/15 01:31:51 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/util/oxreplace.c,v 1.8 2013/08/31 13:44:08 ohara Exp $ */ |
/* cf. fb/src/misc/nan-tfb2.c */ |
/* cf. fb/src/misc/nan-tfb2.c */ |
#include <stdio.h> |
#include <stdio.h> |
#include <stdlib.h> |
#include <stdlib.h> |
|
|
#include <time.h> |
#include <time.h> |
int ReplaceLine=0; |
int ReplaceLine=0; |
int Verbose=0; |
int Verbose=0; |
|
void usage(); |
|
int replaceOneWord(char *fname,char *old, char *new); |
|
|
char *readAsString(FILE *fp) { |
char *readAsString(FILE *fp) { |
static char *s = NULL; |
static char *s = NULL; |
Line 37 char *readAsString(FILE *fp) { |
|
Line 39 char *readAsString(FILE *fp) { |
|
return s; |
return s; |
} |
} |
|
|
matches(char *word,char *s,int j) { |
int matches(char *word,char *s,int j) { |
int i; |
int i; |
for (i=0; i<j; i++) { |
for (i=0; i<j; i++) { |
if (word[i] != s[i]) return 0; |
if (word[i] != s[i]) return 0; |
Line 45 matches(char *word,char *s,int j) { |
|
Line 47 matches(char *word,char *s,int j) { |
|
return 1; |
return 1; |
} |
} |
|
|
isHexc(int c) { |
int isHexc(int c) { |
if ((c >= '0') && (c<='9')) return 1; |
if ((c >= '0') && (c<='9')) return 1; |
if ((c >= 'A') && (c<='F')) return 1; |
if ((c >= 'A') && (c<='F')) return 1; |
if ((c >= 'a') && (c<='f')) return 1; |
if ((c >= 'a') && (c<='f')) return 1; |
Line 77 char *hex2str(char hstr[]) { |
|
Line 79 char *hex2str(char hstr[]) { |
|
else return s; |
else return s; |
} |
} |
|
|
main(int argc, char *argv[]) { |
int main(int argc, char *argv[]) { |
int i; |
int i; |
char *old = NULL; |
char *old = NULL; |
char *new = NULL; |
char *new = NULL; |
Line 115 main(int argc, char *argv[]) { |
|
Line 117 main(int argc, char *argv[]) { |
|
} |
} |
} |
} |
} |
} |
exit(0); |
return 0; |
} |
} |
|
|
#define DEBUG 1 |
#define DEBUG 1 |
|
|
replaceOneWord(char *fname,char *old, char *new) { |
int replaceOneWord(char *fname,char *old, char *new) { |
FILE *fp; |
FILE *fp; |
FILE *fpOrig; |
FILE *fpOrig; |
char *s; |
char *s; |
Line 144 replaceOneWord(char *fname,char *old, char *new) { |
|
Line 146 replaceOneWord(char *fname,char *old, char *new) { |
|
fprintf(stderr,"No more memory.\n"); exit(10); |
fprintf(stderr,"No more memory.\n"); exit(10); |
} |
} |
sprintf(fnameBackup,"%s.%ld.oxreplace-tmp.old",fname,(long) time(NULL)); |
sprintf(fnameBackup,"%s.%ld.oxreplace-tmp.old",fname,(long) time(NULL)); |
sprintf(comm,"cp %s %s",fname,fnameBackup); |
rename(fname,fnameBackup); |
system(comm); |
|
|
|
fpOrig = fopen(fnameBackup,"r"); |
fpOrig = fopen(fnameBackup,"r"); |
fp = fopen(fname,"w"); |
fp = fopen(fname,"w"); |
Line 184 replaceOneWord(char *fname,char *old, char *new) { |
|
Line 185 replaceOneWord(char *fname,char *old, char *new) { |
|
return 0; |
return 0; |
} |
} |
|
|
|
void usage() { |
usage() { |
|
fprintf(stderr,"oxreplace [--old oword [--new nword | --newfile filename] --f rule_file_name --replaceLine] \n"); |
fprintf(stderr,"oxreplace [--old oword [--new nword | --newfile filename] --f rule_file_name --replaceLine] \n"); |
fprintf(stderr," [file1 file2 ... ] \n"); |
fprintf(stderr," [file1 file2 ... ] \n"); |
fprintf(stderr," Use --oldx or --newx to give a word in hexadecimal codes\n"); |
fprintf(stderr," Use --oldx or --newx to give a word in hexadecimal codes\n"); |
} |
} |
|
|