[BACK]Return to oxreplace.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / util

Diff for /OpenXM/src/util/oxreplace.c between version 1.5 and 1.6

version 1.5, 2005/07/03 08:27:38 version 1.6, 2009/02/15 01:31:51
Line 1 
Line 1 
 /* $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);

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>