version 1.5, 2005/07/03 08:27:38 |
version 1.6, 2009/02/15 01:31:51 |
|
|
/* $OpenXM: OpenXM/src/util/oxreplace.c,v 1.4 2005/04/14 07:11:58 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/util/oxreplace.c,v 1.5 2005/07/03 08:27:38 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> |
Line 116 replaceOneWord(char *fname,char *old, char *new) { |
|
Line 116 replaceOneWord(char *fname,char *old, char *new) { |
|
char *fnameBackup; |
char *fnameBackup; |
char *comm; |
char *comm; |
int i,j,mm; |
int i,j,mm; |
|
int ns,nold; |
#ifdef DEBUG |
#ifdef DEBUG |
fprintf(stderr,"fname=%s, old=%s, new=%s, ReplaceLine=%d\n",fname,old,new,ReplaceLine); |
fprintf(stderr,"fname=%s, old=%s, new=%s, ReplaceLine=%d\n",fname,old,new,ReplaceLine); |
#endif |
#endif |
Line 138 replaceOneWord(char *fname,char *old, char *new) { |
|
Line 139 replaceOneWord(char *fname,char *old, char *new) { |
|
fpOrig = fopen(fnameBackup,"r"); |
fpOrig = fopen(fnameBackup,"r"); |
fp = fopen(fname,"w"); |
fp = fopen(fname,"w"); |
s = readAsString(fpOrig); |
s = readAsString(fpOrig); |
|
ns = strlen(s); nold=strlen(old); |
if (ReplaceLine) { |
if (ReplaceLine) { |
for (i=0; i<strlen(s); i++) { |
for (i=0; i<ns; i++) { |
/* Look for \n */ |
/* Look for \n */ |
mm = 0; |
mm = 0; |
for (j = i; j<strlen(s); j++) { |
for (j = i; j<ns; j++) { |
if (matches(old,s+j,strlen(old))) mm = 1; |
if (matches(old,s+j,nold)) mm = 1; |
if (s[j] == '\n') { break;} |
if (s[j] == '\n') { break;} |
} |
} |
if (mm) { |
if (mm) { |
Line 157 replaceOneWord(char *fname,char *old, char *new) { |
|
Line 159 replaceOneWord(char *fname,char *old, char *new) { |
|
} |
} |
} |
} |
}else{ |
}else{ |
for (i=0; i<strlen(s); i++) { |
for (i=0; i<ns; i++) { |
if (!matches(old,s+i,strlen(old))) { |
if (!matches(old,s+i,nold)) { |
fputc(s[i],fp); |
fputc(s[i],fp); |
}else{ |
}else{ |
fprintf(fp,"%s",new); |
fprintf(fp,"%s",new); |