diff options
Diffstat (limited to 'sysutils/contool/files/patch-06')
-rw-r--r-- | sysutils/contool/files/patch-06 | 122 |
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); - } |