aboutsummaryrefslogtreecommitdiffstats
path: root/src/mds-kbdc/process-includes.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-11-30 09:25:45 +0100
committerMattias Andrée <maandree@operamail.com>2014-11-30 09:25:45 +0100
commitf187640bfff458bfc5c91b875266c5cdf780d1d0 (patch)
tree5caf989f4ee5a6a0c08b0f1cc12e4fa852456e42 /src/mds-kbdc/process-includes.c
parentmds-kbdc: fix nesting inside unordered (diff)
downloadmds-f187640bfff458bfc5c91b875266c5cdf780d1d0.tar.gz
mds-f187640bfff458bfc5c91b875266c5cdf780d1d0.tar.bz2
mds-f187640bfff458bfc5c91b875266c5cdf780d1d0.tar.xz
preparing for include processing
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r--src/mds-kbdc/process-includes.c57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/mds-kbdc/process-includes.c b/src/mds-kbdc/process-includes.c
new file mode 100644
index 0000000..0b068f1
--- /dev/null
+++ b/src/mds-kbdc/process-includes.c
@@ -0,0 +1,57 @@
+/**
+ * mds — A micro-display server
+ * Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
+ *
+ * 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 3 of the License, 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, see <http://www.gnu.org/licenses/>.
+ */
+#include "process-includes.h"
+
+
+
+/**
+ * Add an error the to error list
+ *
+ * @param NODE:const mds_kbdc_tree_t* The node the triggered the error
+ * @param SEVERITY:identifier * in `MDS_KBDC_PARSE_ERROR_*` to indicate severity
+ * @param ...:const char*, ... Error description format string and arguments
+ * @scope error:mds_kbdc_parse_error_t* Variable where the new error will be stored
+ */
+#define NEW_ERROR(NODE, SEVERITY, ...) \
+ NEW_ERROR_(result, SEVERITY, 1, (NODE)->loc_line, \
+ (NODE)->loc_start, (NODE)->loc_end, 1, __VA_ARGS__)
+
+
+
+/**
+ * Variable whether the latest created error is stored
+ */
+static mds_kbdc_parse_error_t* error;
+
+
+
+/**
+ * Include included files and process them upto this level
+ *
+ * @param result `result` from `simplify_tree`, will be updated
+ * @return -1 if an error occursed that cannot be stored in `result`, zero otherwise
+ */
+int process_includes(mds_kbdc_parsed_t* restrict result)
+{
+ return 0;
+}
+
+
+
+#undef NEW_ERROR
+