summaryrefslogtreecommitdiff
path: root/modules/test.c
diff options
context:
space:
mode:
authorJeff Bailey <jbailey@raspberryginger.com>2000-02-17 03:03:19 +0000
committerJeff Bailey <jbailey@raspberryginger.com>2000-02-17 03:03:19 +0000
commitbd11691d6520f7539e7ed2efdf75f266719e27e9 (patch)
tree13d3a4e534f6df846a128af52438769b9f51f09e /modules/test.c
downloadm4-bd11691d6520f7539e7ed2efdf75f266719e27e9.tar.gz
Initial revision
Diffstat (limited to 'modules/test.c')
-rw-r--r--modules/test.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/modules/test.c b/modules/test.c
new file mode 100644
index 00000000..1a8a8092
--- /dev/null
+++ b/modules/test.c
@@ -0,0 +1,58 @@
+/* GNU m4 -- A simple macro processor
+ Copyright (C) 1998 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include <m4.h> /* These are obligatory */
+#include <builtin.h>
+
+module_init_t m4_init_module; /* initialisation function */
+module_finish_t m4_finish_module; /* cleanup function */
+
+DECLARE(test); /* declare test as implementing
+ a builtin */
+
+#undef DECLARE
+
+/* The table of builtins defined by this module - just one */
+
+builtin m4_macro_table[] =
+{
+ /* name GNUext macros blind function */
+ { "test", FALSE, FALSE, FALSE, test },
+ { 0, FALSE, FALSE, FALSE, 0 },
+};
+
+void
+m4_init_module(struct obstack *obs)
+{
+ char *s = "Test module loaded.";
+ obstack_grow (obs, s, strlen(s));
+}
+
+void
+m4_finish_module(void)
+{
+ return;
+}
+
+/* The functions for builtins can be static */
+static void
+test (struct obstack *obs, int argc, token_data **argv)
+{
+ char *s = "Test module called";
+ obstack_grow (obs, s, strlen(s));
+}