aboutsummaryrefslogtreecommitdiff
path: root/lang/siod/files/patch-parser_pratt
diff options
context:
space:
mode:
authorMikhail Teterin <mi@FreeBSD.org>2021-02-17 03:00:00 +0000
committerMikhail Teterin <mi@FreeBSD.org>2021-02-17 03:00:00 +0000
commit91ea805744d8e128a60aa855445c1eb12c2ab1f4 (patch)
treef92294ee05f08b76963da98aef9ed4572c0cba7a /lang/siod/files/patch-parser_pratt
parent4f55fd65f06f110a5edaddf2c3e50d1c2cd8d2cd (diff)
downloadports-91ea805744d8e128a60aa855445c1eb12c2ab1f4.tar.gz
ports-91ea805744d8e128a60aa855445c1eb12c2ab1f4.zip
Upgrade from circa 2000 to circa 2014 code. Unfortunately, upstream
are somewhat sloppy about releases -- and do not publish versioned files. I'm calling this one 3.6.2, because that's the last version found in the change log. The new build uses bsd.lib.mk and bsd.prog.mk -- in order to: a) build shared libraries cleanly; b) stand a chance of working on the hardware platforms, where the author never tried it. The large patches provide for warning-free compiles with WARNS=7 -- tested on FreeBSD-11/amd64. We now take care to link with libgnuregex.so -- whether from base or provided by devel/libgnuregex instead of using the bundled (ancient) version of Henry Spencer's library. Similarly, the port links with the base -lmd instead of compiling its own MD5-implementation. Additional new feature is options, which currently include: . Socket support -- this used to be built unconditionally and is still on by default. However, someone concerned about the "network daemon" security warning may want to to turn this off. . Regex module -- also on by default. But, because it may, depending on the OS version, drag in a dependency, it can be turned off. . NDBM -- a never-before built (not on FreeBSD) module allowing work with NDBM databases. On by default now, because it has no dependencies. . GD -- the graphics library. Never built before by this port, it remains off by default because it depends on graphics/gd (or ukrainian/gd). . SQL_SYBASE -- for interactions with Sybase (and MS-SQL) database servers. Depends on databases/freetds and therefor off by default. There is also sql_oracle module, which is not enabled (for now), because databases/oracle8-client is, unfortunately, i386-only. The peculiarity of installing siod.html into ${PREFIX}/lib/siod remains for now -- suggestions welcome. Sponsored by: United Marsupials
Notes
Notes: svn path=/head/; revision=565477
Diffstat (limited to 'lang/siod/files/patch-parser_pratt')
-rw-r--r--lang/siod/files/patch-parser_pratt48
1 files changed, 48 insertions, 0 deletions
diff --git a/lang/siod/files/patch-parser_pratt b/lang/siod/files/patch-parser_pratt
new file mode 100644
index 000000000000..2a58cc38c211
--- /dev/null
+++ b/lang/siod/files/patch-parser_pratt
@@ -0,0 +1,48 @@
+--- parser_pratt.c 2014-03-25 04:10:42.000000000 -0400
++++ parser_pratt.c 2021-02-15 22:35:51.027451000 -0500
+@@ -27,9 +27,10 @@
+ {return(err("token_overflow",NIL));}
+
+-LISP pratt_read_token(LISP buffer,LISP chars,LISP stream)
++static LISP pratt_read_token(LISP buffer, LISP chars, LISP stream)
+ {LISP c,tail;
+ char *tk;
+ long j=0,tkdim;
+- tk = get_c_string_dim(buffer,&tkdim);
++ tk = get_string_data(buffer);
++ tkdim = buffer->storage_as.string.dim;
+ while(1)
+ if NULLP(c = lgetc(stream))
+@@ -39,5 +40,5 @@
+ else if NEQ(sym_whitespace,tail)
+ break;
+- if EQ(sym_string_delim,tail)
++ if EQ(sym_string_delim,tail) {
+ while(NNULLP(c = lgetc(stream)))
+ if EQ(sym_back_slash,aref1(chars,c))
+@@ -58,4 +59,5 @@
+ else
+ err_token_overflow();
++ }
+ if EQ(tail,sym_back_slash)
+ c = lgetc(stream);
+@@ -66,5 +68,5 @@
+ if NULLP(tail)
+ return(lreadtk(tk,j));
+- else if CONSP(tail)
++ else if CONSP(tail) {
+ while(1)
+ if NULLP(c = lgetc(stream))
+@@ -78,4 +80,5 @@
+ {if NEQ(sym_whitespace,aref1(chars,c)) lungetc(c,stream);
+ return(lreadtk(tk,j));}
++ }
+ while(1)
+ if NULLP(c = lgetc(stream))
+@@ -96,4 +99,6 @@
+ return(NIL);}
+
++void init_parser_pratt(void); /* Our sole exported symbol */
++
+ void init_parser_pratt(void)
+ {init_subr_3("pratt_read_token",pratt_read_token);