diff options
author | Jeff Bailey <jbailey@raspberryginger.com> | 2000-02-17 03:03:19 +0000 |
---|---|---|
committer | Jeff Bailey <jbailey@raspberryginger.com> | 2000-02-17 03:03:19 +0000 |
commit | bd11691d6520f7539e7ed2efdf75f266719e27e9 (patch) | |
tree | 13d3a4e534f6df846a128af52438769b9f51f09e /modules/test.c | |
download | m4-bd11691d6520f7539e7ed2efdf75f266719e27e9.tar.gz |
Initial revision
Diffstat (limited to 'modules/test.c')
-rw-r--r-- | modules/test.c | 58 |
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)); +} |