diff options
author | Pav Lucistnik <pav@FreeBSD.org> | 2007-03-17 13:12:57 +0000 |
---|---|---|
committer | Pav Lucistnik <pav@FreeBSD.org> | 2007-03-17 13:12:57 +0000 |
commit | e662f2343c73ab85a09d7314be22f9f43cfa342d (patch) | |
tree | 2ada2355b19b4c0f293e53f53cf6c2a16708548c /net | |
parent | cc003edb69b6fa58ce398437f85e13d275a97a28 (diff) | |
download | ports-e662f2343c73ab85a09d7314be22f9f43cfa342d.tar.gz ports-e662f2343c73ab85a09d7314be22f9f43cfa342d.zip |
Notes
Diffstat (limited to 'net')
-rw-r--r-- | net/dgd-net/Makefile | 21 | ||||
-rw-r--r-- | net/dgd-net/distinfo | 6 | ||||
-rw-r--r-- | net/dgd-net/files/patch-aa | 97 | ||||
-rw-r--r-- | net/dgd-net/files/patch-ab | 41 | ||||
-rw-r--r-- | net/dgd-net/files/patch-ad | 532 | ||||
-rw-r--r-- | net/dgd-net/pkg-plist | 9 |
6 files changed, 51 insertions, 655 deletions
diff --git a/net/dgd-net/Makefile b/net/dgd-net/Makefile index 5c068a6942b7..377182e8a8c9 100644 --- a/net/dgd-net/Makefile +++ b/net/dgd-net/Makefile @@ -6,35 +6,28 @@ # PORTNAME= dgd-net -PORTVERSION= 1.1.8 +PORTVERSION= 1.2 CATEGORIES= net lang MASTER_SITES= ftp://ftp.dworkin.nl/pub/dgd/archive/ \ http://dl.droso.net/ports/ -DISTNAME= dgd-${PORTVERSION:C/.([0-9]*)$/p\1/} +DISTNAME= dgd-${PORTVERSION} -MAINTAINER= ports@FreeBSD.org -COMMENT= "Dworkin's Generic Driver + extra networking support + regexps" +MAINTAINER= araujo@bsdmail.org +COMMENT= Dworkin's Generic Driver + extra networking support + regexps -NO_CDROM= "no distribution to corporate environment" -RESTRICTED= "license required for commercial use" +NO_CDROM= no distribution to corporate environment +RESTRICTED= license required for commercial use DIST_SUBDIR= dgd WRKSRC= ${WRKDIR}/dgd/src ALL_TARGET= install -.include <bsd.port.pre.mk> - -.if ${OSVERSION} >= 502126 -USE_GCC= 3.3 -.endif - pre-patch: @${LN} -s dgd ${WRKDIR}/dgd+net @${MKDIR} ${WRKDIR}/dgd/bin post-build: @${MV} ${WRKDIR}/dgd/bin/driver ${WRKDIR}/dgd/bin/driver.net - @${MV} ${WRKDIR}/dgd/bin/precomp ${WRKDIR}/dgd/bin/precomp.net @${MV} ${WRKDIR}/dgd/doc/Introduction ${WRKDIR}/dgd/doc/Introduction.NET @${MV} ${WRKDIR}/dgd/doc/kfun/send_message ${WRKDIR}/dgd/doc/kfun/send_message.NET @${CHMOD} o+r ${WRKDIR}/dgd/doc/kfun/* @@ -44,4 +37,4 @@ do-install: @${TAR} -C ${WRKDIR} -cf - `${GREP} '^dgd/' ${PLIST}` \ | ${TAR} -C ${PREFIX} -xpf - -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/net/dgd-net/distinfo b/net/dgd-net/distinfo index 2df27ac451b9..ac0287cbbb42 100644 --- a/net/dgd-net/distinfo +++ b/net/dgd-net/distinfo @@ -1,3 +1,3 @@ -MD5 (dgd/dgd-1.1p8.tar.gz) = 8d2321c5f203609401a4eaa138bec469 -SHA256 (dgd/dgd-1.1p8.tar.gz) = 1da9f634b35f7f48e7b780b8fb0bee39bb46342f856fc76465a71b731adcc7ec -SIZE (dgd/dgd-1.1p8.tar.gz) = 383324 +MD5 (dgd/dgd-1.2.tar.gz) = adc0c9f601454922d3ebf72a241b1c66 +SHA256 (dgd/dgd-1.2.tar.gz) = 0ab958ee3b4f3e39e5c0dae47c76d0598e8f25a95154730665825c642c2f4614 +SIZE (dgd/dgd-1.2.tar.gz) = 470260 diff --git a/net/dgd-net/files/patch-aa b/net/dgd-net/files/patch-aa index 880687e6cce5..3fb3a9a76b7d 100644 --- a/net/dgd-net/files/patch-aa +++ b/net/dgd-net/files/patch-aa @@ -1,56 +1,41 @@ ---- Makefile.orig Sat Dec 15 14:14:50 2001 -+++ Makefile Sat Dec 15 14:17:42 2001 -@@ -6,19 +6,21 @@ - DEBUG= - CCFLAGS=-O2 $(DEFINES) $(DEBUG) - CFLAGS= -I. -Icomp -Ilex -Ied -Ikfun $(CCFLAGS) --LDFLAGS= --LIBS= --CC= gcc -+LDFLAGS= -s -+LIBS= -lcrypt -lgnuregex -+CC?= cc - LD= $(CC) - DMAKE= make - BIN= ../bin - - OBJ= alloc.o error.o hash.o swap.o str.o array.o object.o data.o path.o \ -- editor.o comm.o call_out.o interpret.o config.o dgd.o -+ editor.o comm.o call_out.o interpret.o config.o dgd.o rgx.o - EDOBJ= alloc.o error.o - LEXOBJ= alloc.o hash.o - COMPOBJ=alloc.o error.o hash.o path.o str.o array.o object.o data.o \ -- interpret.o config.o -+ interpret.o config.o rgx.o -+ -+all: a.out comp/a.out - - a.out: $(OBJ) always - cd comp; $(MAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' dgd -@@ -38,7 +40,11 @@ - -mv $(BIN)/driver $(BIN)/driver.old - cp a.out $(BIN)/driver - --install: $(BIN)/driver -+$(BIN)/precomp: comp/a.out -+ -mv $(BIN)/precomp $(BIN)/precomp.old -+ cp comp/a.out $(BIN)/precomp -+ -+install: $(BIN)/driver $(BIN)/precomp - - comp.sub: $(COMPOBJ) - @for i in $(COMPOBJ); do echo ../$$i; done > comp.sub -@@ -54,7 +60,7 @@ - - comp/a.out: - cd comp; $(DMAKE) 'DMAKE=$(DMAKE)' 'CC=$(CC)' 'CCFLAGS=$(CCFLAGS)' \ -- 'LIBS=$(LIBS)' a.out -+ 'LDFLAGS=$(LDFLAGS)' 'LIBS=$(LIBS)' a.out - - clean: - rm -f a.out $(OBJ) comp.sub lex.sub ed.sub -@@ -92,3 +98,4 @@ - call_out.o config.o dgd.o: call_out.h - error.o comm.o call_out.o config.o dgd.o: comm.h - config.o: version.h -+rgx.o: str.h array.h rgx.h interpret.h +*** ../README.FreeBSD Wed Dec 31 16:00:00 1969 +--- ../README.FreeBSD Sun Aug 28 06:43:17 1994 +*************** +*** 0 **** +--- 1,9 ---- ++ This is the core distribution of DGD, providing all the tools needed ++ to implement interactive servers, for instance MUD, IRC, WWW, etc. ++ A reference implementation of a kernel library is provided, which can ++ be further built on. Normally with DGD, there is a kernel library to ++ define the programming environment and a database library to define the ++ interaction environment. ++ ++ Mudlib simulations are available for LPmud and LambdaMoo environments. ++ Other such simulations are in various stages of development. +*** ../README.sites Wed Dec 31 16:00:00 1969 +--- ../README.sites Sun Aug 28 06:27:25 1994 +*************** +*** 0 **** +--- 1,22 ---- ++ DGD MUDs known to be open as of December 1996 are: ++ ++ [LPmud and derivatives] ++ IgorMUD: [194.213.74.34] igor.algonet.se 1701 (good typical LPmud) ++ Albion MUD: [193.4.230.10] mud.veda.is 4000 (play and development) ++ Xyllomer: [131.234.10.45] mud.uni-paderborn.de 3000 (enchanting realism) ++ 3M: [192.89.182.3] mmm.megabaud.fi 6047 (M M & mushrooms) ++ DemonWorld: [194.45.175.45] ??? 3000 (roleplaying) ++ ResWorld: [164.11.100.7] tao.btc.uwe.ac.uk 2000 (fantasy) ++ ++ All have a more or less medieval or fantasy theme. ++ ++ [moo] ++ MirrorMOO: [129.10.114.196] mirror.ccs.neu.edu 8889 (Alice's Wonderland) ++ ++ Other sites are also developing their own special mudlibs with DGD. ++ ++ [other] ++ FishRoom: [199.89.234.17] kplace.monrou.com 1025 (aquaria discussion) ++ ++ Ichat have developed a commercial product based on DGD, called ROOMS. For ++ further information and a list of chat sites, visit http://www.ichat.com diff --git a/net/dgd-net/files/patch-ab b/net/dgd-net/files/patch-ab deleted file mode 100644 index 3fb3a9a76b7d..000000000000 --- a/net/dgd-net/files/patch-ab +++ /dev/null @@ -1,41 +0,0 @@ -*** ../README.FreeBSD Wed Dec 31 16:00:00 1969 ---- ../README.FreeBSD Sun Aug 28 06:43:17 1994 -*************** -*** 0 **** ---- 1,9 ---- -+ This is the core distribution of DGD, providing all the tools needed -+ to implement interactive servers, for instance MUD, IRC, WWW, etc. -+ A reference implementation of a kernel library is provided, which can -+ be further built on. Normally with DGD, there is a kernel library to -+ define the programming environment and a database library to define the -+ interaction environment. -+ -+ Mudlib simulations are available for LPmud and LambdaMoo environments. -+ Other such simulations are in various stages of development. -*** ../README.sites Wed Dec 31 16:00:00 1969 ---- ../README.sites Sun Aug 28 06:27:25 1994 -*************** -*** 0 **** ---- 1,22 ---- -+ DGD MUDs known to be open as of December 1996 are: -+ -+ [LPmud and derivatives] -+ IgorMUD: [194.213.74.34] igor.algonet.se 1701 (good typical LPmud) -+ Albion MUD: [193.4.230.10] mud.veda.is 4000 (play and development) -+ Xyllomer: [131.234.10.45] mud.uni-paderborn.de 3000 (enchanting realism) -+ 3M: [192.89.182.3] mmm.megabaud.fi 6047 (M M & mushrooms) -+ DemonWorld: [194.45.175.45] ??? 3000 (roleplaying) -+ ResWorld: [164.11.100.7] tao.btc.uwe.ac.uk 2000 (fantasy) -+ -+ All have a more or less medieval or fantasy theme. -+ -+ [moo] -+ MirrorMOO: [129.10.114.196] mirror.ccs.neu.edu 8889 (Alice's Wonderland) -+ -+ Other sites are also developing their own special mudlibs with DGD. -+ -+ [other] -+ FishRoom: [199.89.234.17] kplace.monrou.com 1025 (aquaria discussion) -+ -+ Ichat have developed a commercial product based on DGD, called ROOMS. For -+ further information and a list of chat sites, visit http://www.ichat.com diff --git a/net/dgd-net/files/patch-ad b/net/dgd-net/files/patch-ad deleted file mode 100644 index 6f74fa378b0a..000000000000 --- a/net/dgd-net/files/patch-ad +++ /dev/null @@ -1,532 +0,0 @@ -*** src.rgx/config.c Thu Jan 2 23:34:31 1997 ---- config.c Thu Jan 2 23:51:21 1997 -*************** -*** 19,24 **** ---- 19,25 ---- - # include "compile.h" - # include "csupport.h" - # include "table.h" -+ # include "rgx.h" - - typedef struct { - char *name; /* name of the option */ -*************** -*** 810,815 **** ---- 811,819 ---- - - /* initialize interpreter */ - i_init(conf[CREATE].u.str); -+ -+ /* initialize regular expressions */ -+ rgx_init(); - - /* initialize compiler */ - c_init(conf[AUTO_OBJECT].u.str, -*** src.rgx/kfun/extra.c Tue Sep 27 09:28:26 1994 ---- kfun/extra.c Thu Feb 2 22:25:18 1995 -*************** -*** 560,562 **** ---- 560,640 ---- - error("Not yet implemented"); - } - # endif -+ -+ -+ # ifdef FUNCDEF -+ FUNCDEF("regexp_compile", kf_regexp_compile, p_regexp_compile) -+ # else -+ char p_regexp_compile[] = { C_TYPECHECKED | C_STATIC | C_VARARGS, -+ T_STRING | (1 << REFSHIFT), 2, T_STRING, T_INT }; -+ -+ /* -+ * NAME: kfun->regexp_compile() -+ * DESCRIPTION: compile a regexp pattern -+ */ -+ int kf_regexp_compile(nargs) -+ int nargs; -+ { -+ int case_matters; -+ array *compiled; -+ -+ if (nargs < 1) -+ return -1; -+ -+ case_matters = (nargs == 2 ? ! (sp++)->u.number : 1); -+ -+ compiled = rgx_new(sp->u.string, case_matters); -+ -+ str_del(sp->u.string); -+ sp->type = T_ARRAY; -+ arr_ref(sp->u.array = compiled); -+ -+ return 0; -+ } -+ # endif -+ -+ -+ # ifdef FUNCDEF -+ FUNCDEF("regexp_match", kf_regexp_match, p_regexp_match) -+ # else -+ char p_regexp_match[] = { C_TYPECHECKED | C_STATIC | C_VARARGS, -+ T_INT | (1 << REFSHIFT), 3, -+ T_STRING | (1 << REFSHIFT), T_STRING, T_INT }; -+ -+ /* -+ * NAME: kfun->regexp_match() -+ * DESCRIPTION: perform regexp matching with a previously compiled pattern -+ */ -+ int kf_regexp_match(nargs) -+ int nargs; -+ { -+ int reverse; -+ string *subject; -+ array *compiled, *result; -+ -+ if (nargs < 2) -+ return -1; -+ -+ reverse = (nargs == 3 ? (sp++)->u.number : 0); -+ subject = sp->u.string; -+ compiled = sp[1].u.array; -+ -+ if (compiled->size != 3) -+ return 1; -+ -+ result = rgx_match(d_get_elts(compiled), subject, reverse); -+ -+ str_del((sp++)->u.string); -+ arr_del(sp->u.array); -+ -+ if (result == (array *) 0) -+ { -+ sp->type = T_INT; -+ sp->u.number = 0; -+ } -+ else -+ arr_ref(sp->u.array = result); -+ -+ return 0; -+ } -+ # endif -*** src.rgx/kfun/kfun.h Sun May 8 08:15:01 1994 ---- kfun/kfun.h Thu Feb 2 22:25:18 1995 -*************** -*** 5,7 **** ---- 5,8 ---- - # include "xfloat.h" - # include "interpret.h" - # include "data.h" -+ # include "rgx.h" -*** src.rgx/rgx.c Thu Jan 2 21:41:55 1997 ---- rgx.c Thu Jan 2 21:17:46 1997 -*************** -*** 0 **** ---- 1,213 ---- -+ # include "dgd.h" -+ # include "str.h" -+ # include "array.h" -+ # include "interpret.h" -+ # include <gnuregex.h> -+ # include "rgx.h" -+ # include <memory.h> -+ -+ static char trans_table[256]; -+ -+ /* -+ * NAME: regexp->init() -+ * DESCRIPTION: initialize regexp handling -+ */ -+ void rgx_init() -+ { -+ register int i; -+ -+ for (i = 0; i < 256; ++i) -+ trans_table[i] = i; -+ for (i = 'a'; i <= 'z'; ++i) -+ trans_table[i] = i + 'A' - 'a'; -+ } -+ -+ /* -+ * NAME: regexp->new() -+ * DESCRIPTION: create a new regexp buffer -+ */ -+ array *rgx_new(pattern, case_matters) -+ string *pattern; -+ int case_matters; -+ { -+ char *translate; -+ struct re_pattern_buffer patbuf; -+ char fastmap[256]; -+ const char *compile_error; -+ array *result; -+ register value *v; -+ string *s; -+ -+ translate = (case_matters ? (char *) 0 : trans_table); -+ -+ patbuf.buffer = 0; -+ patbuf.allocated = 0; -+ patbuf.used = 0; -+ -+ patbuf.fastmap = fastmap; -+ patbuf.translate = translate; -+ -+ patbuf.fastmap_accurate = 0; -+ -+ { -+ int i; -+ long n = 0; -+ for (i = 0; i < pattern->len; i++) { -+ switch (pattern->text[i]) { -+ case '[': -+ if (pattern->text[++i] == '^') -+ i++; -+ for (i++; i < pattern->len; i++) -+ if (pattern->text[i] == ']') -+ break; -+ break; -+ case '%': -+ pattern->text[i++] = '\\'; /* skip escaped char */ -+ break; -+ case '\\': -+ pattern->text[i] == '%'; /* mark for expansion */ -+ n++; -+ break; -+ } -+ } -+ if (n) { -+ int j; -+ -+ s = str_new(NULL, pattern->len + n); -+ for (i = j = 0; i < pattern->len; i++, j++) { -+ switch (pattern->text[i]) { -+ case '[': -+ s->text[j++] = pattern->text[i++]; -+ if (i == pattern->len) -+ goto breakout; -+ if (pattern->text[i] == '^') { -+ s->text[j++] = pattern->text[i++]; -+ if (i == pattern->len) -+ goto breakout; -+ } -+ s->text[j++] = pattern->text[i++]; -+ if (i == pattern->len) -+ goto breakout; -+ for ( ; i < pattern->len; i++, j++) { -+ if ((s->text[j] = pattern->text[i]) == ']') -+ break; -+ } -+ break; -+ case '%': /* expand */ -+ s->text[j++] = '\\'; -+ s->text[j] = '\\'; -+ break; -+ case '\\': /* skip escaped char */ -+ s->text[j++] = pattern->text[i++]; -+ if (i == pattern->len) -+ goto breakout; -+ /* fallthru */ -+ default: -+ s->text[j] = pattern->text[i]; -+ } -+ } -+ breakout: -+ } -+ } -+ compile_error = re_compile_pattern(s->text, s->len, &patbuf); -+ str_del(s); -+ if (compile_error != (char *) 0) -+ { -+ regfree(&patbuf); -+ error(compile_error); -+ } -+ -+ re_compile_fastmap(&patbuf); -+ -+ result = arr_new(3L); -+ v = result->elts; -+ -+ v->type = T_STRING; -+ str_ref(v->u.string = str_new((char *) &patbuf, (long) sizeof(patbuf))); -+ ++v; -+ v->type = T_STRING; -+ str_ref(v->u.string = str_new((char *) patbuf.buffer, -+ (long) patbuf.allocated)); -+ ++v; -+ v->type = T_STRING; -+ str_ref(v->u.string = str_new(fastmap, 256L)); -+ -+ /* don't let regfree() try to free these */ -+ patbuf.fastmap = 0; -+ patbuf.translate = 0; -+ -+ regfree(&patbuf); -+ -+ return result; -+ } -+ -+ /* -+ * NAME: regexp->match() -+ * DESCRIPTION: perform regexp matching, given a pattern and subject string -+ */ -+ array *rgx_match(pattern, subject, reverse) -+ value *pattern; -+ string *subject; -+ int reverse; -+ { -+ long sub_len; -+ struct re_pattern_buffer patbuf; -+ struct re_registers regs; -+ regoff_t starts[RGX_NREGS + 1], ends[RGX_NREGS + 1]; -+ array *result; -+ register value *v; -+ register int i; -+ -+ if (pattern[0].u.string->len != sizeof(struct re_pattern_buffer)) -+ error("Invalid compiled pattern"); -+ -+ memcpy((char *) &patbuf, pattern[0].u.string->text, -+ sizeof(struct re_pattern_buffer)); -+ -+ if (patbuf.allocated != (unsigned long) pattern[1].u.string->len || -+ pattern[2].u.string->len != 256) -+ error("Invalid compiled pattern"); -+ -+ patbuf.buffer = (unsigned char *) pattern[1].u.string->text; -+ patbuf.fastmap = pattern[2].u.string->text; -+ -+ regs.num_regs = RGX_NREGS; -+ regs.start = starts; -+ regs.end = ends; -+ patbuf.regs_allocated = REGS_FIXED; -+ -+ sub_len = subject->len; -+ if (re_search(&patbuf, subject->text, sub_len, reverse ? sub_len : 0, -+ reverse ? -(sub_len + 1) : sub_len + 1, ®s) == -1) -+ return (array *) 0; -+ -+ result = arr_new((long) RGX_NREGS * 2); -+ v = result->elts; -+ -+ v->type = T_INT; -+ v->u.number = starts[0]; -+ ++v; -+ -+ v->type = T_INT; -+ v->u.number = ends[0] - 1; -+ ++v; -+ -+ for (i = 1; i < RGX_NREGS; ++i, v += 2) -+ { -+ v[0].type = T_INT; -+ v[1].type = T_INT; -+ -+ if (starts[i] == -1) -+ { -+ v[0].u.number = 0; -+ v[1].u.number = -1; -+ } -+ else -+ { -+ v[0].u.number = starts[i]; -+ v[1].u.number = ends[i] - 1; -+ } -+ } -+ -+ return result; -+ } -*** src.rgx/rgx.h Thu Jan 2 21:42:05 1997 ---- rgx.h Fri Feb 3 03:09:54 1995 -*************** -*** 0 **** ---- 1,5 ---- -+ # define RGX_NREGS 10 -+ -+ extern void rgx_init P((void)); -+ extern array *rgx_new P((string*, int)); -+ extern array *rgx_match P((value*, string*, int)); -*** doc.rgx/rgx_example.c Thu Jan 1 00:00:00 1970 ---- ../doc/rgx_example.c Fri Feb 3 03:30:01 1995 -*************** -*** 0 **** ---- 1,49 ---- -+ /* -+ * This file shows how an interface can be built to cache regexp patterns -+ * and ultimately provide a more streamlined interface to the regexp kfuns. -+ * -+ * Note that since regexp_match() severely depends on the return result from -+ * regexp_compile() being unaltered, it is a good idea to provide an -+ * interface like this, and also to mask the regexp_match() kfun from the -+ * auto object. -+ */ -+ -+ # define CACHE_SIZE 10 -+ -+ private mapping cache; -+ private string *list; -+ private string last_pattern; -+ -+ static -+ void create(void) -+ { -+ cache = ([ ]); -+ list = ({ }); -+ } -+ -+ int *match(string subject, string pattern) -+ { -+ string *buffer; -+ -+ if ((buffer = cache[pattern]) == 0) -+ { -+ buffer = regexp_compile(pattern); -+ -+ if (sizeof(list) >= CACHE_SIZE) -+ { -+ cache[list[0]] = 0; -+ list = list[1 ..] + ({ pattern }); -+ } -+ else -+ list += ({ pattern }); -+ -+ cache[pattern] = buffer; -+ } -+ else if (pattern != last_pattern) -+ { -+ list = list - ({ pattern }) + ({ pattern }); -+ last_pattern = pattern; -+ } -+ -+ return regexp_match(buffer, subject); -+ } -*** doc.rgx/kfun/regexp_compile Thu Jan 1 00:00:00 1970 ---- ../doc/kfun/regexp_compile Tue Jul 26 00:02:34 1994 -*************** -*** 0 **** ---- 1,27 ---- -+ NAME -+ regexp_compile - compile a regular expression -+ -+ SYNOPSIS -+ varargs string *regexp_compile(string pattern, int case_insensitive) -+ -+ DESCRIPTION -+ The argument pattern is compiled as a regular expression. If the -+ argument case_insensitive is nonzero, the pattern is compiled in -+ such a way that subsequent matching will be done without case -+ sensitivity. The default is to be case-sensitive. -+ -+ An array of strings is returned; these strings contain binary -+ data and must not be altered in any way before being passed to -+ regexp_match(). -+ -+ The compiled regexp can be saved and used any number of times with -+ regexp_match(). -+ -+ ERRORS -+ If the argument pattern contains a syntactically malformed regular -+ expression, an error will result. An error can also occur if the -+ pattern is too complicated, or if there is not enough memory to -+ compile the pattern. -+ -+ SEE ALSO -+ kfun/regexp_match -*** doc.rgx/kfun/regexp_match Thu Jan 1 00:00:00 1970 ---- ../doc/kfun/regexp_match Mon Jul 25 22:19:42 1994 -*************** -*** 0 **** ---- 1,34 ---- -+ NAME -+ regexp_match - perform regular expression matching -+ -+ SYNOPSIS -+ varargs int *regexp_match(string *pattern, string subject, int reverse) -+ -+ DESCRIPTION -+ The argument subject is matched against the compiled regular -+ expression pattern. If the argument reverse is nonzero, matching -+ is performed from right-to-left; otherwise, matching is performed -+ left-to-right. -+ -+ The pattern argument must be an array of strings exactly as it -+ was received from regexp_compile(); otherwise, the result of -+ calling this function is undefined. -+ -+ If the argument subject could not be matched with the regular -+ expression, 0 is returned. Otherwise, an array of 20 integers -+ is returned with this format: -+ -+ ({ start0, end0, start1, end1, ..., start9, end9 }) -+ -+ Each element is a character index into the subject string. The -+ first two elements, start0 and end0, indicate the part of the subject -+ that was matched by the regular expression as a whole. The following -+ elements indicate the starting and ending indices of each -+ subexpression (denoted by "%(" and "%)" pairs in the original -+ pattern) that were matched. -+ -+ If any subexpression was not matched, the corresponding start and -+ end elements will be 0 and -1, respectively. -+ -+ SEE ALSO -+ kfun/regexp_compile -*** doc.rgx/regexps Thu Jan 1 00:00:00 1970 ---- ../doc/regexps Mon Jul 25 22:58:57 1994 -*************** -*** 0 **** ---- 1,32 ---- -+ -+ Regular expressions are composed of the following operators: -+ -+ . Match any single character -+ XY Match X immediately followed by Y -+ X* Match zero-or-more of X -+ X+ Match one-or-more of X -+ X? Match zero-or-one of X -+ X%|Y Match either X or Y -+ [charset] Match any single character in `charset' -+ [^charset] Match any single character not in `charset' -+ %(X%) Match X, but also remember the match as a subexpression -+ %digit Match the numbered previous subexpression -+ ^X Match X anchored at the beginning of a line -+ X$ Match X anchored at the end of a line -+ %b Match the empty string at the beginning or end of a word -+ %B Match the empty string only within the middle of a word -+ %< Match the beginning of a word -+ %> Match the end of a word -+ %w Match any word-constituent character -+ %W Match any character that is not word-constituent -+ -+ Any other character in a regular expression is matched literally with itself. -+ To match any of the special operator characters .*+?%[^$ literally, precede -+ the character with `%'. -+ -+ A `charset' is formed by listing all desired characters with brackets. To -+ include a literal `^' in a charset, do not list it in the first position. To -+ include a literal `]', list it immediately after the opening `[' or `[^'. All -+ characters are non-special (and should not be escaped) within a charset, -+ except `-', which denotes a character range. To include a literal `-', list it -+ either first or last. -*** README.rgx.old Fri Jan 3 03:17:21 1997 ---- ../README.rgx Fri Jan 3 03:14:29 1997 -*************** -*** 0 **** ---- 1,18 ---- -+ dgd-rgx was written by Robert Leslie <rob@ccs.neu.edu> as an LPC interface to -+ GNU regex, adding two kfuns to DGD for regular expression matching: -+ -+ regexp_compile() -+ regexp_match() -+ -+ For a description of the regular expression language accepted by these kfuns, -+ please read doc/regexps. -+ -+ Complete details for the two kfuns can be found in the doc/kfun directory. -+ -+ Adapted by Adam David <adam@veda.is> for DGD 1.0.97 and to use the unmodified -+ GNU regexp library. -+ -+ This software is a modification of DGD, and is therefore protected by the -+ DGD Copyright. -+ -+ There is no warranty for this software. diff --git a/net/dgd-net/pkg-plist b/net/dgd-net/pkg-plist index 124ab62f8760..d8d61f412615 100644 --- a/net/dgd-net/pkg-plist +++ b/net/dgd-net/pkg-plist @@ -2,21 +2,17 @@ dgd/Copyright dgd/Credits dgd/README dgd/README.FreeBSD -dgd/README.rgx dgd/README.sites dgd/bin/driver.net -dgd/bin/precomp.net dgd/doc/Commercial dgd/doc/Introduction.NET dgd/doc/LPC.html -dgd/doc/Patching dgd/doc/Platforms dgd/doc/editor dgd/doc/kfun/allocate dgd/doc/kfun/call_other dgd/doc/kfun/call_out dgd/doc/kfun/call_trace -dgd/doc/kfun/catch dgd/doc/kfun/ceil dgd/doc/kfun/clone_object dgd/doc/kfun/compile_object @@ -49,8 +45,6 @@ dgd/doc/kfun/query_editor dgd/doc/kfun/query_ip_number dgd/doc/kfun/random dgd/doc/kfun/read_file -dgd/doc/kfun/regexp_compile -dgd/doc/kfun/regexp_match dgd/doc/kfun/remove_call_out dgd/doc/kfun/remove_dir dgd/doc/kfun/remove_file @@ -70,8 +64,6 @@ dgd/doc/kfun/time dgd/doc/kfun/typeof dgd/doc/kfun/users dgd/doc/kfun/write_file -dgd/doc/regexps -dgd/doc/rgx_example.c dgd/mud/doc/kernel/efun/add_event dgd/mud/doc/kernel/efun/call_other dgd/mud/doc/kernel/efun/call_trace @@ -82,7 +74,6 @@ dgd/mud/doc/kernel/efun/event dgd/mud/doc/kernel/efun/find_object dgd/mud/doc/kernel/efun/get_dir dgd/mud/doc/kernel/efun/query_events -dgd/mud/doc/kernel/efun/query_subscribed dgd/mud/doc/kernel/efun/remove_event dgd/mud/doc/kernel/efun/status dgd/mud/doc/kernel/efun/subscribe_event |