summaryrefslogtreecommitdiff
path: root/sysutils/contool/files/patch-06
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/contool/files/patch-06')
-rw-r--r--sysutils/contool/files/patch-06122
1 files changed, 0 insertions, 122 deletions
diff --git a/sysutils/contool/files/patch-06 b/sysutils/contool/files/patch-06
deleted file mode 100644
index 262f63b473da..000000000000
--- a/sysutils/contool/files/patch-06
+++ /dev/null
@@ -1,122 +0,0 @@
---- regexp.c.orig Thu Feb 24 09:55:47 1994
-+++ regexp.c Sun Jan 5 12:25:10 1997
-@@ -17,22 +17,14 @@
- /* without prior permission from Harris Corporation. */
- /************************************************************************/
-
-+#include <sys/types.h>
- #include <stdio.h>
- #include <string.h>
-
- #include "manifest.h"
- #include "contool.h"
-
--PRIVATE regexp_error();
--
--#define INIT register char *expbuf = ep, *sp = instring;
--#define GETC() (*sp++)
--#define PEEKC() (*sp)
--#define UNGETC(c) (--sp)
--#define RETURN(p) {memcpy(sp = (char *) malloc(p - expbuf), expbuf, p - expbuf); return(sp);}
--#define ERROR(val) {regexp_error(val, instring); return(NULL);}
--
--#include <regexp.h>
-+#include <regex.h>
-
- PRIVATE char error_message[512];
-
-@@ -49,37 +41,10 @@
- p = str + strlen(str) - 1;
- if (p >= str && *p == '\n')
- *p = '\0';
-- circf = circ;
-- result = step(str, exp);
-+ result = regexec((regex_t*)exp, str, 0, NULL, 0);
- if (p >= str && *p == '\0')
- *p = '\n';
-- return(result);
--}
--
--/************************************************************************/
--PRIVATE regexp_error(val, string)
--
--int val;
--char *string;
--
--{ char *msg;
--
-- switch (val) {
-- case 11 : msg = "range endpoint too large";
-- case 16 : msg = "bad number";
-- case 25 : msg = "\"\\digit\" out of range";
-- case 36 : msg = "illegal or missing delimiter";
-- case 41 : msg = "no remembered search string";
-- case 42 : msg = "\\(\\) imbalance";
-- case 43 : msg = "too many \\(";
-- case 44 : msg = "more than 2 numbers given in \\{\\}";
-- case 45 : msg = "} expected after \\";
-- case 46 : msg = "first number exceeds second in \\{\\}";
-- case 49 : msg = "[] imbalance";
-- case 50 : msg = "regular expression overflow";
-- default : msg = "regular expression error";
-- }
-- sprintf(error_message, "%s in %s", msg, string);
-+ return(!result);
- }
-
- /************************************************************************/
-@@ -109,34 +74,40 @@
- char *start;
- char *stop;
-
--{ char rbuf[1024], *sre, *ere;
-- int sc, ec;
-+{
-
-- sre = ere = NULL;
-+ int errcod;
-+ regex_t *sre, *ere;
-+
-+ sre = (regex_t*) malloc(sizeof(regex_t));
-+ ere = (regex_t*) malloc(sizeof(regex_t));
- if (start) {
-- if ((sre = compile(fix_control_chars(start), rbuf, rbuf+1024, '\0')) == NULL)
-+ if (errcod = regcomp(sre, fix_control_chars(start), REG_NOSUB)) {
-+ regerror(errcod, sre, error_message, 512);
-+ strcat(error_message, " in ");
-+ strcat(error_message,fix_control_chars(start));
- return(error_message);
-- sc = circf;
-+ }
- }
- if (stop) {
-- if ((ere = compile(fix_control_chars(stop), rbuf, rbuf+1024, '\0')) == NULL) {
-- cond_free(sre);
-+ if (errcod = regcomp(ere, fix_control_chars(stop), REG_NOSUB)) {
-+ regerror(errcod, ere, error_message, 512);
-+ strcat(error_message," in ");
-+ strcat(error_message,fix_control_chars(stop));
- return(error_message);
- }
-- ec = circf;
- }
- if (filter) {
- filter->start = start;
- filter->stop = stop;
-- filter->start_re = sre;
-- filter->stop_re = ere;
-- filter->start_circf = sc;
-- filter->stop_circf = ec;
-+ filter->start_re = (char *) sre;
-+ filter->stop_re = (char *) ere;
- }
- else {
-+ regfree(sre);
-+ regfree(ere);
- cond_free(sre);
-- if (ere)
-- cond_free(ere);
-+ cond_free(ere);
- }
- return(NULL);
- }