=================================================================== RCS file: /home/cvs/OpenXM/src/util/oxreplace.c,v retrieving revision 1.2 retrieving revision 1.7 diff -u -p -r1.2 -r1.7 --- OpenXM/src/util/oxreplace.c 2003/03/26 04:56:44 1.2 +++ OpenXM/src/util/oxreplace.c 2011/05/02 06:39:51 1.7 @@ -1,13 +1,19 @@ -/* $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.6 2009/02/15 01:31:51 takayama Exp $ */ /* cf. fb/src/misc/nan-tfb2.c */ #include +#include +#include #include +int ReplaceLine=0; +int Verbose=0; + char *readAsString(FILE *fp) { static char *s = NULL; static int size= 102400; int p = 0; char *s2; int c; + if (fp == NULL) { s=NULL; return(NULL); } if (s == NULL) { s = (char *) malloc(size); if (s == NULL) { @@ -38,24 +44,72 @@ matches(char *word,char *s,int j) { } 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