[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.2 and 1.3

version 1.2, 2003/03/26 04:56:44 version 1.3, 2003/05/31 03:05:00
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/util/oxreplace.c,v 1.1 2003/03/26 04:45:37 takayama Exp $ */  /* $OpenXM: OpenXM/src/util/oxreplace.c,v 1.2 2003/03/26 04:56:44 takayama Exp $ */
 /* cf. fb/src/misc/nan-tfb2.c */  /* cf. fb/src/misc/nan-tfb2.c */
 #include <stdio.h>  #include <stdio.h>
 #include <time.h>  #include <time.h>
Line 38  matches(char *word,char *s,int j) {
Line 38  matches(char *word,char *s,int j) {
   }    }
   return 1;    return 1;
 }  }
   
   isHexc(int c) {
     if ((c >= '0') && (c<='9')) return 1;
     if ((c >= 'A') && (c<='F')) return 1;
     if ((c >= 'a') && (c<='f')) return 1;
     return 0;
   }
   char *hex2str(char hstr[]) {
     int i,n,c,k;
     char *s;
     char ts[3];
     /* printf("%s\n",hstr); */
     n = strlen(hstr);
     s = (char *) malloc(n/2+2);
     if (s == NULL) {fprintf(stderr,"Memory exhausted.\n"); exit(10);}
     k = 0; i = 0;
     s[k] = 0;
     while (i<n) {
           while ((!isHexc(hstr[i])) && (i<n)) i++;
       if (isHexc(hstr[i]) && (i<n)) ts[0] = hstr[i]; else ts[0] = 0;
       i++;
           while ((!isHexc(hstr[i])) && (i<n)) i++;
       if (isHexc(hstr[i]) && (i<n)) ts[1] = hstr[i]; else ts[1] = 0;
       i++; ts[2] = 0;
       if (ts[0] != 0) {
             sscanf(ts,"%xd",&c);
         s[k] = c; k++; s[k] = 0;
           }
     }
     if (strcmp(s,"") == 0) return NULL;
     else return s;
   }
   
 main(int argc, char *argv[]) {  main(int argc, char *argv[]) {
   int i;    int i;
   char *old = NULL;    char *old = NULL;
Line 48  main(int argc, char *argv[]) {
Line 81  main(int argc, char *argv[]) {
           old = argv[i+1]; i++;            old = argv[i+1]; i++;
         } else if (strcmp(argv[i],"--new") == 0) {          } else if (strcmp(argv[i],"--new") == 0) {
           new = argv[i+1]; i++;            new = argv[i+1]; i++;
           } else if (strcmp(argv[i],"--oldx") == 0) {
             old = hex2str(argv[i+1]); i++;
           } else if (strcmp(argv[i],"--newx") == 0) {
             new = hex2str(argv[i+1]); i++;
         } else if (strcmp(argv[i],"--f") == 0) {          } else if (strcmp(argv[i],"--f") == 0) {
           fprintf(stderr,"--f option (rule file) has not yet been implemented.\n");            fprintf(stderr,"--f option (rule file) has not yet been implemented.\n");
           exit(10);            exit(10);
Line 112  replaceOneWord(char *fname,char *old, char *new) {
Line 149  replaceOneWord(char *fname,char *old, char *new) {
 usage() {  usage() {
   fprintf(stderr,"oxreplace [--old oword --new nword --f rule_file_name] \n");    fprintf(stderr,"oxreplace [--old oword --new nword --f rule_file_name] \n");
   fprintf(stderr,"          [file1 file2 ... ] \n");    fprintf(stderr,"          [file1 file2 ... ] \n");
     fprintf(stderr,"    Use --oldx or --newx to give a word in hexadeciam codes\n");
 }  }
   

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

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