Skip site navigation (1)Skip section navigation (2)
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>