11#include <my_global.h>
22#include <m_string.h>
33#include <sys/types.h>
4- #include <regex.h>
54#include <assert.h>
65
6+ #include "my_regex.h"
77#include "main.ih"
88
99char * progname ;
@@ -27,9 +27,9 @@ int main(argc, argv)
2727int argc ;
2828char * argv [];
2929{
30- regex_t re ;
30+ my_regex_t re ;
3131# define NS 10
32- regmatch_t subs [NS ];
32+ my_regmatch_t subs [NS ];
3333 char erbuf [100 ];
3434 int err ;
3535 size_t len ;
@@ -74,27 +74,27 @@ char *argv[];
7474 exit (status );
7575 }
7676
77- err = regcomp (& re , argv [optind ++ ], copts , & my_charset_latin1 );
77+ err = my_regcomp (& re , argv [optind ++ ], copts , & my_charset_latin1 );
7878 if (err ) {
79- len = regerror (err , & re , erbuf , sizeof (erbuf ));
79+ len = my_regerror (err , & re , erbuf , sizeof (erbuf ));
8080 fprintf (stderr , "error %s, %d/%d `%s'\n" ,
8181 eprint (err ), len , (int ) sizeof (erbuf ), erbuf );
8282 exit (status );
8383 }
8484 regprint (& re , stdout );
8585
8686 if (optind >= argc ) {
87- regfree (& re );
87+ my_regfree (& re );
8888 exit (status );
8989 }
9090
9191 if (eopts & REG_STARTEND ) {
9292 subs [0 ].rm_so = startoff ;
9393 subs [0 ].rm_eo = strlen (argv [optind ]) - endoff ;
9494 }
95- err = regexec (& re , argv [optind ], (size_t )NS , subs , eopts );
95+ err = my_regexec (& re , argv [optind ], (size_t )NS , subs , eopts );
9696 if (err ) {
97- len = regerror (err , & re , erbuf , sizeof (erbuf ));
97+ len = my_regerror (err , & re , erbuf , sizeof (erbuf ));
9898 fprintf (stderr , "error %s, %d/%d `%s'\n" ,
9999 eprint (err ), (int ) len , (int ) sizeof (erbuf ), erbuf );
100100 exit (status );
@@ -136,7 +136,7 @@ FILE *in;
136136 const char * badpat = "invalid regular expression" ;
137137# define SHORT 10
138138 const char * bpname = "REG_BADPAT" ;
139- regex_t re ;
139+ my_regex_t re ;
140140
141141 while (fgets (inbuf , sizeof (inbuf ), in ) != NULL ) {
142142 line ++ ;
@@ -163,27 +163,27 @@ FILE *in;
163163 options ('c' , f [1 ]) & ~ REG_EXTENDED );
164164 }
165165
166- ne = regerror (REG_BADPAT , (regex_t * )NULL , erbuf , sizeof (erbuf ));
166+ ne = my_regerror (REG_BADPAT , (my_regex_t * )NULL , erbuf , sizeof (erbuf ));
167167 if (strcmp (erbuf , badpat ) != 0 || ne != strlen (badpat )+ 1 ) {
168168 fprintf (stderr , "end: regerror() test gave `%s' not `%s'\n" ,
169169 erbuf , badpat );
170170 status = 1 ;
171171 }
172- ne = regerror (REG_BADPAT , (regex_t * )NULL , erbuf , (size_t )SHORT );
172+ ne = my_regerror (REG_BADPAT , (my_regex_t * )NULL , erbuf , (size_t )SHORT );
173173 if (strncmp (erbuf , badpat , SHORT - 1 ) != 0 || erbuf [SHORT - 1 ] != '\0' ||
174174 ne != strlen (badpat )+ 1 ) {
175175 fprintf (stderr , "end: regerror() short test gave `%s' not `%.*s'\n" ,
176176 erbuf , SHORT - 1 , badpat );
177177 status = 1 ;
178178 }
179- ne = regerror (REG_ITOA |REG_BADPAT , (regex_t * )NULL , erbuf , sizeof (erbuf ));
179+ ne = my_regerror (REG_ITOA |REG_BADPAT , (my_regex_t * )NULL , erbuf , sizeof (erbuf ));
180180 if (strcmp (erbuf , bpname ) != 0 || ne != strlen (bpname )+ 1 ) {
181181 fprintf (stderr , "end: regerror() ITOA test gave `%s' not `%s'\n" ,
182182 erbuf , bpname );
183183 status = 1 ;
184184 }
185185 re .re_endp = bpname ;
186- ne = regerror (REG_ATOI , & re , erbuf , sizeof (erbuf ));
186+ ne = my_regerror (REG_ATOI , & re , erbuf , sizeof (erbuf ));
187187 if (atoi (erbuf ) != (int )REG_BADPAT ) {
188188 fprintf (stderr , "end: regerror() ATOI test gave `%s' not `%ld'\n" ,
189189 erbuf , (long )REG_BADPAT );
@@ -208,9 +208,9 @@ char *f3;
208208char * f4 ;
209209int opts ; /* may not match f1 */
210210{
211- regex_t re ;
211+ my_regex_t re ;
212212# define NSUBS 10
213- regmatch_t subs [NSUBS ];
213+ my_regmatch_t subs [NSUBS ];
214214# define NSHOULD 15
215215 char * should [NSHOULD ];
216216 int nshould ;
@@ -226,10 +226,10 @@ int opts; /* may not match f1 */
226226 strcpy (f0copy , f0 );
227227 re .re_endp = (opts & REG_PEND ) ? f0copy + strlen (f0copy ) : NULL ;
228228 fixstr (f0copy );
229- err = regcomp (& re , f0copy , opts , & my_charset_latin1 );
229+ err = my_regcomp (& re , f0copy , opts , & my_charset_latin1 );
230230 if (err != 0 && (!opt ('C' , f1 ) || err != efind (f2 ))) {
231231 /* unexpected error or wrong error */
232- len = regerror (err , & re , erbuf , sizeof (erbuf ));
232+ len = my_regerror (err , & re , erbuf , sizeof (erbuf ));
233233 fprintf (stderr , "%d: %s error %s, %d/%d `%s'\n" ,
234234 line , type , eprint (err ), len ,
235235 (int ) sizeof (erbuf ), erbuf );
@@ -243,7 +243,7 @@ int opts; /* may not match f1 */
243243 }
244244
245245 if (err != 0 ) {
246- regfree (& re );
246+ my_regfree (& re );
247247 return ;
248248 }
249249
@@ -256,11 +256,11 @@ int opts; /* may not match f1 */
256256 subs [0 ].rm_so = strchr (f2 , '(' ) - f2 + 1 ;
257257 subs [0 ].rm_eo = strchr (f2 , ')' ) - f2 ;
258258 }
259- err = regexec (& re , f2copy , NSUBS , subs , options ('e' , f1 ));
259+ err = my_regexec (& re , f2copy , NSUBS , subs , options ('e' , f1 ));
260260
261261 if (err != 0 && (f3 != NULL || err != REG_NOMATCH )) {
262262 /* unexpected error or wrong error */
263- len = regerror (err , & re , erbuf , sizeof (erbuf ));
263+ len = my_regerror (err , & re , erbuf , sizeof (erbuf ));
264264 fprintf (stderr , "%d: %s exec error %s, %d/%d `%s'\n" ,
265265 line , type , eprint (err ), len ,
266266 (int ) sizeof (erbuf ), erbuf );
@@ -282,7 +282,7 @@ int opts; /* may not match f1 */
282282 }
283283
284284 if (err != 0 || f4 == NULL ) {
285- regfree (& re );
285+ my_regfree (& re );
286286 return ;
287287 }
288288
@@ -303,7 +303,7 @@ int opts; /* may not match f1 */
303303 }
304304 }
305305
306- regfree (& re );
306+ my_regfree (& re );
307307}
308308
309309/*
@@ -404,7 +404,7 @@ register char *p;
404404char * /* NULL or complaint */
405405check (str , sub , should )
406406char * str ;
407- regmatch_t sub ;
407+ my_regmatch_t sub ;
408408char * should ;
409409{
410410 register int len ;
@@ -485,7 +485,7 @@ int err;
485485 static char epbuf [100 ];
486486 size_t len ;
487487
488- len = regerror (REG_ITOA |err , (regex_t * )NULL , epbuf , sizeof (epbuf ));
488+ len = my_regerror (REG_ITOA |err , (my_regex_t * )NULL , epbuf , sizeof (epbuf ));
489489 assert (len <= sizeof (epbuf ));
490490 return (epbuf );
491491}
@@ -499,11 +499,11 @@ efind(name)
499499char * name ;
500500{
501501 static char efbuf [100 ];
502- regex_t re ;
502+ my_regex_t re ;
503503
504504 sprintf (efbuf , "REG_%s" , name );
505505 assert (strlen (efbuf ) < sizeof (efbuf ));
506506 re .re_endp = efbuf ;
507- (void ) regerror (REG_ATOI , & re , efbuf , sizeof (efbuf ));
507+ (void ) my_regerror (REG_ATOI , & re , efbuf , sizeof (efbuf ));
508508 return (atoi (efbuf ));
509509}
0 commit comments