summaryrefslogtreecommitdiff
path: root/src/regress/lib/libc/regex/main.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/regress/lib/libc/regex/main.c29
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;
22regoff_t endoff = 0; 22regoff_t endoff = 0;
23 23
24 24
25extern int split(); 25extern int split(char *, char *[], int, char *);
26extern void regprint(); 26extern 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 */
31int 31int
32main(argc, argv) 32main(int argc, char *argv[])
33int argc; 33
34char *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));