envsubst fixed
[mala.git] / includes / mala.h
blob1e898a9c5a751e4e758131e1fd57f2d083a975fc
1 /*
2 mala-glibc.h - declarations for the glibc implementation of MaLa
4 Copyright (C) 2004, Christian Thaeter <chth@gmx.net>
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License version 2 as
8 published by the Free Software Foundation.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, contact me.
20 #ifndef MALA_H
21 #define MALA_H
23 #include "engine/mala_types.h"
24 #include "engine/engine.h"
25 #include "engine/action.h"
26 //#include "engine/mala_types.h"
27 //#include "engine/mala_types.h"
32 * Macros for parsers
34 /*TODO macros for common parsers MALA_SUBSTITUTE_PARSER("FOO","BAR") etc */
37 #define MALA_CHECK_NOTNEGATED \
38 if (mala_engine_is_negated (eng)) \
39 return mala_engine_exception (eng, pptr, pptr, "--ERROR-NEGATED")
41 #define MALA_CHECK_HASARG \
42 if (llist_get_next ((LList) pptr) == mala_engine_getprogram (eng)) \
43 return mala_engine_exception (eng, pptr, pptr, "--ERROR-MISSINGARG")
45 #define MALA_CHECK_HASARGS(n) \
46 if (llist_distance ((LList) pptr, mala_engine_getprogram (eng)) < n) \
47 return mala_engine_exception (eng, pptr, \
48 llist_get_tail (mala_engine_getprogram (eng)), \
49 "--ERROR-MISSINGARG")
52 #endif
54 // Local Variables:
55 // mode: C
56 // c-file-style: "gnu"
57 // End:
58 // arch-tag: bf4fcf70-efe9-4c6e-baab-629a8e195bc3
59 // end_of_file