[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.7 and 1.9

version 1.7, 2011/05/02 06:39:51 version 1.9, 2013/11/06 00:03:58
Line 1 
Line 1 
 /* $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>
Line 6 
Line 6 
 #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");
 }  }
   

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.9

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