Date: Sat, 14 Mar 2015 10:27:55 +0000 (UTC) From: Bartek Rutkowski <robak@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r381256 - in head/textproc/sgmlformat: . files Message-ID: <201503141027.t2EARtCl083205@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: robak Date: Sat Mar 14 10:27:54 2015 New Revision: 381256 URL: https://svnweb.freebsd.org/changeset/ports/381256 QAT: https://qat.redports.org/buildarchive/r381256/ Log: textproc/sgmlformat: fix broken regexp -> regex conversion - Maintainer's timeout (kuriyama@FreeBSD.org) PR: 184632 Submitted by: Christian Weisgerber <naddy@FreeBSD.org> Modified: head/textproc/sgmlformat/Makefile head/textproc/sgmlformat/files/patch-regex.txt Modified: head/textproc/sgmlformat/Makefile ============================================================================== --- head/textproc/sgmlformat/Makefile Sat Mar 14 09:30:03 2015 (r381255) +++ head/textproc/sgmlformat/Makefile Sat Mar 14 10:27:54 2015 (r381256) @@ -3,7 +3,7 @@ PORTNAME= sgmlformat PORTVERSION= 1.7 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= textproc print MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= kuriyama Modified: head/textproc/sgmlformat/files/patch-regex.txt ============================================================================== --- head/textproc/sgmlformat/files/patch-regex.txt Sat Mar 14 09:30:03 2015 (r381255) +++ head/textproc/sgmlformat/files/patch-regex.txt Sat Mar 14 10:27:54 2015 (r381256) @@ -1,5 +1,5 @@ ---- instant/tables.c -+++ instant/tables.c +--- instant/tables.c.orig 1996-09-08 03:55:10.000000000 +0200 ++++ instant/tables.c 2013-11-30 23:51:25.000000000 +0100 @@ -84,7 +84,7 @@ #include <sys/types.h> #include <errno.h> @@ -9,14 +9,79 @@ #include "general.h" #include "translate.h" ---- instant/translate.h -+++ instant/translate.h +--- instant/traninit.c.orig 1997-07-16 18:44:12.000000000 +0200 ++++ instant/traninit.c 2013-11-30 23:51:25.000000000 +0100 +@@ -69,7 +69,7 @@ + #include <memory.h> + #include <sys/types.h> + #include <errno.h> +-#include <regexp.h> ++#include <regex.h> + + #include "general.h" + #include "translate.h" +@@ -100,6 +100,23 @@ + void AddSDATA(const char *from, const char *to); + + /* ______________________________________________________________________ */ ++/* minimal compatibility wrapper for UNIX V8 regexp, match only ++ */ ++ ++static regex_t *v8_regcomp(const char *pattern) ++{ ++ regex_t *re; ++ if ((re = malloc(sizeof(regex_t))) != NULL) { ++ if (regcomp(re, pattern, REG_EXTENDED|REG_NOSUB)) { ++ free(re); ++ return NULL; ++ } ++ } ++ return re; ++} ++#define regcomp v8_regcomp ++ ++/* ______________________________________________________________________ */ + /* Read the translation specs from the input file, storing in memory. + * Arguments: + * Name of translation spec file. +--- instant/translate.c.orig 1996-09-08 03:55:10.000000000 +0200 ++++ instant/translate.c 2013-11-30 23:51:25.000000000 +0100 +@@ -69,7 +69,7 @@ + #include <memory.h> + #include <sys/types.h> + #include <errno.h> +-#include <regexp.h> ++#include <regex.h> + + #include "general.h" + #define STORAGE +@@ -82,6 +82,18 @@ + static void WasProcessed(Element_t *); + + /* ______________________________________________________________________ */ ++/* minimal compatibility wrapper for UNIX V8 regexp, match only ++ */ ++ ++static int v8_regexec(const regex_t *re, const char *string) ++{ ++ if (re == NULL) ++ return 0; ++ return !regexec(re, string, 0, NULL, 0); ++} ++#define regexec v8_regexec ++ ++/* ______________________________________________________________________ */ + /* Translate the subtree starting at 'e'. Output goes to 'fp'. + * This is the entry point for translating an instance. + * Arguments: +--- instant/translate.h.orig 1996-09-08 03:55:10.000000000 +0200 ++++ instant/translate.h 2013-11-30 23:51:25.000000000 +0100 @@ -75,7 +75,7 @@ typedef struct { char *name; /* attribute name string */ char *val; /* attribute value string */ - regexp *rex; /* attribute value reg expr (compiled) */ -+ regex_t rex; /* attribute value reg expr (compiled) */ ++ regex_t *rex; /* attribute value reg expr (compiled) */ } AttPair_t; typedef struct _Trans { @@ -25,7 +90,7 @@ char **gilist; /* list of element names (multiple gi's) */ char *context; /* context in tree - looking depth levels up */ - regexp *context_re; /* tree heirarchy looking depth levels up */ -+ regex_t context_re; /* tree heirarchy looking depth levels up */ ++ regex_t *context_re; /* tree heirarchy looking depth levels up */ int depth; /* number of levels to look up the tree */ AttPair_t *attpair; /* attr name-value pairs */ int nattpairs; /* number of name-value pairs */ @@ -33,117 +98,23 @@ int nth_child; /* GI is Nth child of this of parent element */ char *content; /* element has this string in content */ - regexp *content_re; /* content reg expr (compiled) */ -+ regex_t content_re; /* content reg expr (compiled) */ ++ regex_t *content_re; /* content reg expr (compiled) */ char *pattrset; /* is this attr set (any value) in parent? */ char *var_name; /* variable name */ char *var_value; /* variable value */ char *var_RE_name; /* variable name (for VarREValue) */ - regexp *var_RE_value; /* variable value (compiled, for VarREValue) */ -+ regex_t var_RE_value; /* variable value (compiled, for VarREValue) */ ++ regex_t *var_RE_value; /* variable value (compiled, for VarREValue) */ Map_t *relations; /* various relations to check */ /* actions */ ---- instant/traninit.c -+++ instant/traninit.c -@@ -69,7 +69,7 @@ - #include <memory.h> - #include <sys/types.h> - #include <errno.h> --#include <regexp.h> -+#include <regex.h> - - #include "general.h" - #include "translate.h" -@@ -392,7 +392,7 @@ - tok = Split(cp, &i, S_STRDUP); - T.var_RE_name = tok[0]; - ExpandVariables(tok[1], buf, 0); -- if (!(T.var_RE_value=regcomp(buf))) { -+ if (regcomp(&T.var_RE_value, buf, 0) != 0) { - fprintf(stderr, "Regex error in VarREValue Content: %s\n", - tok[1]); - } -@@ -454,7 +454,7 @@ - - if (do_regex) { - t->depth = MAX_DEPTH; -- if (!(t->context_re=regcomp(t->context))) { -+ if (regcomp(&t->context_re, t->context, 0) != 0) { - fprintf(stderr, "Regex error in Context: %s\n", t->context); - } - } -@@ -493,17 +493,17 @@ - else { /* value not found */ - t->attpair[i].val = "."; - } -- if (!(t->attpair[i].rex=regcomp(t->attpair[i].val))) { -+ if (regcomp(&t->attpair[i].rex, t->attpair[i].val, 0) != 0) { - fprintf(stderr, "Regex error in AttValue: %s %s\n", - t->attpair[i].name, t->attpair[i].val); - } - } - - /* Compile regular expression for content */ -- t->content_re = 0; -+ //t->content_re = 0; - if (t->content) { - ExpandVariables(t->content, buf, 0); -- if (!(t->content_re=regcomp(buf))) -+ if (regcomp(&t->content_re, buf, 0) != 0) - fprintf(stderr, "Regex error in Content: %s\n", - t->content); - } ---- instant/translate.c -+++ instant/translate.c -@@ -69,7 +69,7 @@ - #include <memory.h> - #include <sys/types.h> - #include <errno.h> --#include <regexp.h> -+#include <regex.h> +@@ -150,4 +150,3 @@ + void OSFtable(Element_t *, FILE *, char **, int); - #include "general.h" - #define STORAGE -@@ -418,9 +418,9 @@ - FindContext(e, t->depth, context); - - /* If reg expr set, do regex compare; else just string compare. */ -- if (t->context_re) { -- if (! regexec(t->context_re, context)) continue; -- } -+ //if (t->context_re) { -+ if (! regexec(&t->context_re, context, 0, NULL, 0)) continue; -+ //} - else { - /* Is depth of spec deeper than element's depth? */ - if (t->depth > e->depth) continue; -@@ -439,7 +439,7 @@ - match = 0; - break; - } -- if (!regexec(t->attpair[a].rex, atval)) match = 0; -+ if (!regexec(&t->attpair[a].rex, atval, 0, NULL, 0)) match = 0; - } - if (!match) continue; - } -@@ -499,13 +499,13 @@ - /* check for variable regular expression match */ - if ( t->var_RE_name ) { - cp = FindMappingVal(Variables, t->var_RE_name); -- if (!cp || !regexec(t->var_RE_value, cp)) continue; -+ if (!cp || !regexec(&t->var_RE_value, cp, 0, NULL, 0)) continue; - } - - /* check content */ - if (t->content) { /* no att specified -> a match */ - for (match=0,i=0; i<e->ndcont; i++) { -- if (regexec(t->content_re, e->dcont[i])) { -+ if (regexec(&t->content_re, e->dcont[i], 0, NULL, 0)) { - match = 1; - break; - } ---- instant/tranvar.c -+++ instant/tranvar.c + /* ______________________________________________________________________ */ +- +--- instant/tranvar.c.orig 1997-02-07 03:40:45.000000000 +0100 ++++ instant/tranvar.c 2013-11-30 23:51:25.000000000 +0100 @@ -66,7 +66,7 @@ #include <sys/types.h> #include <errno.h> @@ -153,8 +124,8 @@ #include "general.h" #include "translate.h" ---- instant/util.c -+++ instant/util.c +--- instant/util.c.orig 1996-09-08 03:55:10.000000000 +0200 ++++ instant/util.c 2013-11-30 23:51:25.000000000 +0100 @@ -85,7 +85,7 @@ #include <sys/stat.h> #include <sys/file.h> @@ -164,13 +135,3 @@ /* CSS don't have it and I don't see where it's used #include <values.h> */ ---- instant/Makefile -+++ instant/Makefile -@@ -6,7 +6,6 @@ - SRCS+= sgmls.c - - CFLAGS+=-DTRANSPEC_DIR=\"${TRANSPEC_DIR}\" --LDADD= -lcompat - - MAN1= instant.1 - MAN5= transpec.5
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201503141027.t2EARtCl083205>