summaryrefslogtreecommitdiff
path: root/frontends/monkey/output.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2018-11-03 15:12:27 +0000
committerVincent Sanders <vince@kyllikki.org>2018-11-03 15:12:50 +0000
commit6ff3238825f21e0abec37b1d485318648d824cab (patch)
tree489406862f83738f0304d364666096fccc5cf610 /frontends/monkey/output.c
parent4fcb6eb3016de68b4a742cd6b4d2248550529deb (diff)
downloadnetsurf-6ff3238825f21e0abec37b1d485318648d824cab.tar.gz
netsurf-6ff3238825f21e0abec37b1d485318648d824cab.tar.bz2
centralise monkey output generation
Diffstat (limited to 'frontends/monkey/output.c')
-rw-r--r--frontends/monkey/output.c54
1 files changed, 54 insertions, 0 deletions
diff --git a/frontends/monkey/output.c b/frontends/monkey/output.c
new file mode 100644
index 000000000..a3390ea35
--- /dev/null
+++ b/frontends/monkey/output.c
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2018 Vincent Sanders <vince@nexturf-browser.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf 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; version 2 of the License.
+ *
+ * NetSurf 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 <stdio.h>
+#include <stdarg.h>
+
+#include "monkey/output.h"
+
+/**
+ * output type prefixes
+ */
+static const char *type_text[]={
+ "DIE",
+ "ERROR",
+ "WARN",
+ "GENERIC",
+ "WINDOW",
+ "LOGIN",
+ "SSLCERT",
+ "DOWNLOAD",
+ "PLOT",
+};
+
+/* exported interface documented in monkey/output.h */
+int moutf(enum monkey_output_type mout_type, const char *fmt, ...)
+{
+ va_list ap;
+ int res;
+
+ res = fprintf(stdout, "%s ", type_text[mout_type]);
+
+ va_start(ap, fmt);
+ res += vfprintf(stdout, fmt, ap);
+ va_end(ap);
+
+ fputc('\n', stdout);
+
+ return res + 1;
+}