diff options
Diffstat (limited to 'src/regress/lib/libc/regex/main.c')
| -rw-r--r-- | src/regress/lib/libc/regex/main.c | 29 | 
1 files changed, 15 insertions, 14 deletions
| diff --git a/src/regress/lib/libc/regex/main.c b/src/regress/lib/libc/regex/main.c index 6e63ffc235..02f4bd7cf2 100644 --- a/src/regress/lib/libc/regex/main.c +++ b/src/regress/lib/libc/regex/main.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: main.c,v 1.3 1997/01/15 23:41:07 millert Exp $ */ | 1 | /* $OpenBSD: main.c,v 1.4 2003/07/31 21:48:03 deraadt Exp $ */ | 
| 2 | /* $NetBSD: main.c,v 1.2 1995/04/20 22:39:51 cgd Exp $ */ | 2 | /* $NetBSD: main.c,v 1.2 1995/04/20 22:39:51 cgd Exp $ */ | 
| 3 | 3 | ||
| 4 | #include <stdio.h> | 4 | #include <stdio.h> | 
| @@ -22,16 +22,15 @@ regoff_t startoff = 0; | |||
| 22 | regoff_t endoff = 0; | 22 | regoff_t endoff = 0; | 
| 23 | 23 | ||
| 24 | 24 | ||
| 25 | extern int split(); | 25 | extern int split(char *, char *[], int, char *); | 
| 26 | extern void regprint(); | 26 | extern void regprint(regex_t *, FILE *); | 
| 27 | 27 | ||
| 28 | /* | 28 | /* | 
| 29 | - main - do the simple case, hand off to regress() for regression | 29 | - main - do the simple case, hand off to regress() for regression | 
| 30 | */ | 30 | */ | 
| 31 | int | 31 | int | 
| 32 | main(argc, argv) | 32 | main(int argc, char *argv[]) | 
| 33 | int argc; | 33 | |
| 34 | char *argv[]; | ||
| 35 | { | 34 | { | 
| 36 | regex_t re; | 35 | regex_t re; | 
| 37 | # define NS 10 | 36 | # define NS 10 | 
| @@ -431,8 +430,9 @@ char *should; | |||
| 431 | (sub.rm_so != -1 && sub.rm_eo == -1) || | 430 | (sub.rm_so != -1 && sub.rm_eo == -1) || | 
| 432 | (sub.rm_so != -1 && sub.rm_so < 0) || | 431 | (sub.rm_so != -1 && sub.rm_so < 0) || | 
| 433 | (sub.rm_eo != -1 && sub.rm_eo < 0) ) { | 432 | (sub.rm_eo != -1 && sub.rm_eo < 0) ) { | 
| 434 | sprintf(grump, "start %ld end %ld", (long)sub.rm_so, | 433 | snprintf(grump, sizeof grump, | 
| 435 | (long)sub.rm_eo); | 434 | "start %ld end %ld", (long)sub.rm_so, | 
| 435 | (long)sub.rm_eo); | ||
| 436 | return(grump); | 436 | return(grump); | 
| 437 | } | 437 | } | 
| 438 | 438 | ||
| @@ -444,8 +444,9 @@ char *should; | |||
| 444 | 444 | ||
| 445 | /* check for in range */ | 445 | /* check for in range */ | 
| 446 | if (sub.rm_eo > strlen(str)) { | 446 | if (sub.rm_eo > strlen(str)) { | 
| 447 | sprintf(grump, "start %ld end %ld, past end of string", | 447 | snprintf(grump, sizeof grump, | 
| 448 | (long)sub.rm_so, (long)sub.rm_eo); | 448 | "start %ld end %ld, past end of string", | 
| 449 | (long)sub.rm_so, (long)sub.rm_eo); | ||
| 449 | return(grump); | 450 | return(grump); | 
| 450 | } | 451 | } | 
| 451 | 452 | ||
| @@ -455,13 +456,13 @@ char *should; | |||
| 455 | 456 | ||
| 456 | /* check for not supposed to match */ | 457 | /* check for not supposed to match */ | 
| 457 | if (should == NULL) { | 458 | if (should == NULL) { | 
| 458 | sprintf(grump, "matched `%.*s'", len, p); | 459 | snprintf(grump, sizeof grump, "matched `%.*s'", len, p); | 
| 459 | return(grump); | 460 | return(grump); | 
| 460 | } | 461 | } | 
| 461 | 462 | ||
| 462 | /* check for wrong match */ | 463 | /* check for wrong match */ | 
| 463 | if (len != shlen || strncmp(p, should, (size_t)shlen) != 0) { | 464 | if (len != shlen || strncmp(p, should, (size_t)shlen) != 0) { | 
| 464 | sprintf(grump, "matched `%.*s' instead", len, p); | 465 | snprintf(grump, sizeof grump, "matched `%.*s' instead", len, p); | 
| 465 | return(grump); | 466 | return(grump); | 
| 466 | } | 467 | } | 
| 467 | if (shlen > 0) | 468 | if (shlen > 0) | 
| @@ -474,7 +475,7 @@ char *should; | |||
| 474 | if (shlen == 0) | 475 | if (shlen == 0) | 
| 475 | shlen = 1; /* force check for end-of-string */ | 476 | shlen = 1; /* force check for end-of-string */ | 
| 476 | if (strncmp(p, at, shlen) != 0) { | 477 | if (strncmp(p, at, shlen) != 0) { | 
| 477 | sprintf(grump, "matched null at `%.20s'", p); | 478 | snprintf(grump, sizeof grump, "matched null at `%.20s'", p); | 
| 478 | return(grump); | 479 | return(grump); | 
| 479 | } | 480 | } | 
| 480 | return(NULL); | 481 | return(NULL); | 
| @@ -507,7 +508,7 @@ char *name; | |||
| 507 | static char efbuf[100]; | 508 | static char efbuf[100]; | 
| 508 | regex_t re; | 509 | regex_t re; | 
| 509 | 510 | ||
| 510 | sprintf(efbuf, "REG_%s", name); | 511 | snprintf(efbuf, sizeof efbuf, "REG_%s", name); | 
| 511 | assert(strlen(efbuf) < sizeof(efbuf)); | 512 | assert(strlen(efbuf) < sizeof(efbuf)); | 
| 512 | re.re_endp = efbuf; | 513 | re.re_endp = efbuf; | 
| 513 | (void) regerror(REG_ATOI, &re, efbuf, sizeof(efbuf)); | 514 | (void) regerror(REG_ATOI, &re, efbuf, sizeof(efbuf)); | 
