Module Name: othersrc
Committed By: agc
Date: Thu Feb 23 19:36:08 UTC 2023
Modified Files:
othersrc/external/bsd/elex/dist: agcre.c elex.c elex.h main.c striter.c
othersrc/external/bsd/elex/dist/tests: 28.expected
Added Files:
othersrc/external/bsd/elex: namespace.mk
Log Message:
Update elex to version 20230223
+ add introspection - add a "namespace" action to elex_exec_str to return any
embedded library namespace used when compiling
+ move LIB_NAMESPACE from embedded definitions to be defined in Makefiles, and
include the makefile snippet if it exists
+ README typo fixes and added clarification from Brad Harder
+ bump version to 20230223
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 othersrc/external/bsd/elex/namespace.mk
cvs rdiff -u -r1.2 -r1.3 othersrc/external/bsd/elex/dist/agcre.c \
othersrc/external/bsd/elex/dist/elex.c \
othersrc/external/bsd/elex/dist/elex.h \
othersrc/external/bsd/elex/dist/main.c \
othersrc/external/bsd/elex/dist/striter.c
cvs rdiff -u -r1.2 -r1.3 othersrc/external/bsd/elex/dist/tests/28.expected
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: othersrc/external/bsd/elex/dist/agcre.c
diff -u othersrc/external/bsd/elex/dist/agcre.c:1.2 othersrc/external/bsd/elex/dist/agcre.c:1.3
--- othersrc/external/bsd/elex/dist/agcre.c:1.2 Wed Feb 22 01:01:39 2023
+++ othersrc/external/bsd/elex/dist/agcre.c Thu Feb 23 19:36:07 2023
@@ -36,7 +36,6 @@
#include <string.h>
#include <unistd.h>
-#define LIB_NAMESPACE elex_
#include "agcre.h"
/* callback struct */
Index: othersrc/external/bsd/elex/dist/elex.c
diff -u othersrc/external/bsd/elex/dist/elex.c:1.2 othersrc/external/bsd/elex/dist/elex.c:1.3
--- othersrc/external/bsd/elex/dist/elex.c:1.2 Wed Feb 22 01:01:39 2023
+++ othersrc/external/bsd/elex/dist/elex.c Thu Feb 23 19:36:07 2023
@@ -33,7 +33,6 @@
#include <string.h>
#include <unistd.h>
-#define LIB_NAMESPACE elex_
#include "agcre.h"
#include "striter.h"
#include "elex.h"
@@ -672,13 +671,17 @@ elex_exec(elex_t *elex, const char *info
return 0;
}
+/* used to stringify the namespace we're using */
+#define ELEX_STRINGIFY(_x) ELEX_STRINGIFY2(_x)
+#define ELEX_STRINGIFY2(_x) #_x
+
/* one function to access string values */
void *
elex_exec_str(elex_t *elex, const char *info, uint64_t n, uint64_t *size)
{
uint64_t len;
- if (elex == NULL || info == NULL) {
+ if (elex == NULL || info == NULL || size == NULL) {
return NULL;
}
switch(djbhash(info)) {
@@ -698,6 +701,9 @@ elex_exec_str(elex_t *elex, const char *
return allocate(elex->states[elex->yystate].name, strlen(elex->states[elex->yystate].name), size);
case /* "get-yytext" */ 0x88065864:
return allocate(elex->yytext, elex->yyleng, size);
+ case /* "namespace" */ 0x41041c23:
+ return allocate(ELEX_STRINGIFY(LIB_NAMESPACE),
+ strlen(ELEX_STRINGIFY(LIB_NAMESPACE)), size);
}
return NULL;
}
Index: othersrc/external/bsd/elex/dist/elex.h
diff -u othersrc/external/bsd/elex/dist/elex.h:1.2 othersrc/external/bsd/elex/dist/elex.h:1.3
--- othersrc/external/bsd/elex/dist/elex.h:1.2 Wed Feb 22 01:01:39 2023
+++ othersrc/external/bsd/elex/dist/elex.h Thu Feb 23 19:36:07 2023
@@ -23,7 +23,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef ELEX_H_
-#define ELEX_H_ 20230221
+#define ELEX_H_ 20230223
#include <inttypes.h>
Index: othersrc/external/bsd/elex/dist/main.c
diff -u othersrc/external/bsd/elex/dist/main.c:1.2 othersrc/external/bsd/elex/dist/main.c:1.3
--- othersrc/external/bsd/elex/dist/main.c:1.2 Wed Feb 22 01:01:39 2023
+++ othersrc/external/bsd/elex/dist/main.c Thu Feb 23 19:36:07 2023
@@ -32,7 +32,6 @@
#include <string.h>
#include <unistd.h>
-#define LIB_NAMESPACE elex_
#include "elex.h"
#define STRINGIFY(x) #x
Index: othersrc/external/bsd/elex/dist/striter.c
diff -u othersrc/external/bsd/elex/dist/striter.c:1.2 othersrc/external/bsd/elex/dist/striter.c:1.3
--- othersrc/external/bsd/elex/dist/striter.c:1.2 Wed Feb 22 01:20:52 2023
+++ othersrc/external/bsd/elex/dist/striter.c Thu Feb 23 19:36:07 2023
@@ -33,7 +33,6 @@
#include <string.h>
#include <unistd.h>
-#define LIB_NAMESPACE elex_
#include "striter.h"
/* a string iterator structure */
Index: othersrc/external/bsd/elex/dist/tests/28.expected
diff -u othersrc/external/bsd/elex/dist/tests/28.expected:1.2 othersrc/external/bsd/elex/dist/tests/28.expected:1.3
--- othersrc/external/bsd/elex/dist/tests/28.expected:1.2 Wed Feb 22 01:01:40 2023
+++ othersrc/external/bsd/elex/dist/tests/28.expected Thu Feb 23 19:36:08 2023
@@ -1 +1 @@
-elex version 20230221
+elex version 20230223
Added files:
Index: othersrc/external/bsd/elex/namespace.mk
diff -u /dev/null othersrc/external/bsd/elex/namespace.mk:1.1
--- /dev/null Thu Feb 23 19:36:08 2023
+++ othersrc/external/bsd/elex/namespace.mk Thu Feb 23 19:36:07 2023
@@ -0,0 +1 @@
+CPPFLAGS+= -DLIB_NAMESPACE="elex_"