diff options
author | David N. Welton <davidw@efn.org> | 1998-12-11 20:21:49 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-02-20 00:05:25 -0800 |
commit | a47af30d2f0e96afcd1f14b1984575c359faa3d6 (patch) | |
tree | 2ed08ce2d757f917de7c3c7c04fd7e309f454c83 /rgx.c | |
parent | f64b2806c1d66a1341bb8b1491f384169ab1d65f (diff) | |
parent | db04688faa20f3576257c0fe41752ec435beab9a (diff) | |
download | scm-a47af30d2f0e96afcd1f14b1984575c359faa3d6.tar.gz scm-a47af30d2f0e96afcd1f14b1984575c359faa3d6.zip |
Import Debian changes 5c3-5debian/5c3-5
scm (5c3-5) frozen unstable; urgency=low
* debian/rules chmod +x's bld.scm. Fixes #30521.
scm (5c3-4) frozen unstable; urgency=low
* Made bld.scm executable. Fixes #29578.
scm (5c3-3) frozen unstable; urgency=low
* -nw
* Fixes #16762.
* Fixes #18163.
* Fixes #18164.
* Fixes #23743.
* Fixes #24098.
* Fixes #24099.
* Fixes #24547.
scm (5c3-2) frozen unstable; urgency=low
* Re-uploading for slink freeze.
scm (5c3-1) unstable; urgency=low
* New upstream version.
Diffstat (limited to 'rgx.c')
-rw-r--r-- | rgx.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -51,7 +51,7 @@ #endif static char rcsid[] = - "$Id: rgx.c, v 1.20 1995/02/15 04:39:45 dpb Exp $"; + "$Id: rgx.c,v 1.4 1998/09/11 18:13:43 radey Exp $"; #ifdef HAVE_ALLOCA # include <alloca.h> @@ -131,7 +131,7 @@ int prinregex(exp, port, writing) SCM exp; SCM port; int writing; { lputs("#<regex ", port); - intprint(CDR(exp), 16, port); + intprint(CDR(exp), -16, port); lputc(' ', port); iprin1(RGX_PATTERN(exp), port, writing); lputc('>', port); @@ -192,9 +192,10 @@ SCM lregcomp(pattern, flags) ASSERT(NIMP(pattern) && STRINGP(pattern), pattern, ARG1, s_regcomp); ASSERT(UNBNDP(flags) || (NIMP(flags) && STRINGP(flags)), flags, ARG2, s_regcomp); - NEWCELL(z); DEFER_INTS; - SETCHARS(z, info=(regex_info*)must_malloc((long)sizeof(regex_info), s_regex)); + z = must_malloc_cell((long)sizeof(regex_info), s_regex); + scm_protect_temp(&z); + info=(regex_info*)CHARS(z); prog = &(info->rgx); CAR(z) = tc16_rgx; #ifdef __REGEXP_LIBRARY_H__ @@ -250,12 +251,19 @@ SCM lregcomp(pattern, flags) DEFER_INTS; if (fastmap) prog->fastmap = must_malloc(CHAR_SET_SIZE, s_regex); + else + prog->fastmap = NULL; if (ignore_case) { prog->translate = must_malloc(CHAR_SET_SIZE, s_regex); for (i = 0; i < CHAR_SET_SIZE; i++) prog->translate[i] = ISUPPER (i) ? tolower (i) : i; } + else + prog->translate = NULL; + + prog->buffer = NULL; + prog->allocated = 0; re_set_syntax(options); err_msg = (char *)re_compile_pattern(CHARS(pattern), LENGTH(pattern), prog); |