1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-27 05:10:36 +00:00

textproc/sgmlformat: fix broken regexp -> regex conversion

- Maintainer's timeout (kuriyama@FreeBSD.org)

PR:		184632
Submitted by:	Christian Weisgerber <naddy@FreeBSD.org>
This commit is contained in:
Bartek Rutkowski 2015-03-14 10:27:54 +00:00
parent 4a98411960
commit 939b26e8f5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=381256
2 changed files with 90 additions and 129 deletions

View File

@ -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

View File

@ -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,42 +9,8 @@
#include "general.h"
#include "translate.h"
--- instant/translate.h
+++ instant/translate.h
@@ -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) */
} AttPair_t;
typedef struct _Trans {
@@ -83,19 +83,19 @@
char *gi; /* element name of tag under consideration */
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 */
int depth; /* number of levels to look up the tree */
AttPair_t *attpair; /* attr name-value pairs */
int nattpairs; /* number of name-value pairs */
char *parent; /* GI has this element as parent */
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) */
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) */
Map_t *relations; /* various relations to check */
/* actions */
--- instant/traninit.c
+++ instant/traninit.c
--- 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>
@ -54,47 +20,32 @@
#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 @@
@@ -100,6 +100,23 @@
void AddSDATA(const char *from, const char *to);
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
/* ______________________________________________________________________ */
+/* 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>
@ -104,46 +55,66 @@
#include "general.h"
#define STORAGE
@@ -418,9 +418,9 @@
FindContext(e, t->depth, context);
@@ -82,6 +82,18 @@
static void WasProcessed(Element_t *);
/* 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;
}
/* ______________________________________________________________________ */
+/* 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) */
} AttPair_t;
/* 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
typedef struct _Trans {
@@ -83,19 +83,19 @@
char *gi; /* element name of tag under consideration */
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 */
int depth; /* number of levels to look up the tree */
AttPair_t *attpair; /* attr name-value pairs */
int nattpairs; /* number of name-value pairs */
char *parent; /* GI has this element as parent */
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) */
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) */
Map_t *relations; /* various relations to check */
/* actions */
@@ -150,4 +150,3 @@
void OSFtable(Element_t *, FILE *, char **, int);
/* ______________________________________________________________________ */
-
--- 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