aboutsummaryrefslogtreecommitdiffstats
path: root/src/diagnostic
diff options
context:
space:
mode:
authorGravatar Gediminas Jakutis <gediminas@varciai.lt> 2015-01-31 20:35:30 +0200
committerGravatar Gediminas Jakutis <gediminas@varciai.lt> 2015-03-03 23:36:16 +0200
commit8b26e3ef33e3871762ebd62acbff85b2c3abd9fc (patch)
tree67d917b8694572b735662d2786fb77eac23ccaa9 /src/diagnostic
downloadlibrin-0.0.1.tar.gz
librin-0.0.1.tar.bz2
librin-0.0.1.zip
Initial commit - Release 0.0.1librin-0.0.1
Diffstat (limited to 'src/diagnostic')
-rw-r--r--src/diagnostic/Makefile.am27
-rw-r--r--src/diagnostic/diagnostic.c59
-rw-r--r--src/diagnostic/diagnostic_private.h29
3 files changed, 115 insertions, 0 deletions
diff --git a/src/diagnostic/Makefile.am b/src/diagnostic/Makefile.am
new file mode 100644
index 0000000..8787230
--- /dev/null
+++ b/src/diagnostic/Makefile.am
@@ -0,0 +1,27 @@
+
+# Copyright (C) 2015 Gediminas Jakutis
+#
+# This Makefile.am is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; version 2.1
+# of the License.
+#
+# 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
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+
+AM_CFLAGS = \
+ -I$(top_srcdir)/include/ \
+ -Wall \
+ -Wextra
+
+noinst_LTLIBRARIES = librin_diagnostic.la
+
+librin_diagnostic_la_SOURCES = \
+ diagnostic.c \
+ diagnostic_private.h
diff --git a/src/diagnostic/diagnostic.c b/src/diagnostic/diagnostic.c
new file mode 100644
index 0000000..0648abe
--- /dev/null
+++ b/src/diagnostic/diagnostic.c
@@ -0,0 +1,59 @@
+/*
+ * The Rin Library – diagnostics module
+ *
+ * Copyright (C) 2015 Gediminas Jakutis
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; version 2.1
+ * of the License.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include "diagnostic_private.h"
+
+void rin_err(const char *format, ...)
+{
+ va_list args;
+
+ va_start(args, format);
+ __rin_msg(stderr, "error", format, args);
+}
+
+void rin_warn(const char *format, ...)
+{
+ va_list args;
+
+ va_start(args, format);
+ __rin_msg(stderr, "warning", format, args);
+}
+
+void rin_fixme(const char *format, ...)
+{
+ va_list args;
+
+ va_start(args, format);
+ __rin_msg(stderr, "fixme", format, args);
+}
+
+void rin_info(const char *format, ...)
+{
+ va_list args;
+
+ va_start(args, format);
+ __rin_msg(stdout, "info", format, args);
+}
+
+static void __rin_msg(FILE *stream, const char *prefix, const char *format, va_list args)
+{
+ fprintf(stream, "%s: ", prefix);
+ vfprintf(stream, format, args);
+}
diff --git a/src/diagnostic/diagnostic_private.h b/src/diagnostic/diagnostic_private.h
new file mode 100644
index 0000000..284d2e7
--- /dev/null
+++ b/src/diagnostic/diagnostic_private.h
@@ -0,0 +1,29 @@
+/*
+ * The Rin Library – diagnostics module
+ *
+ * Copyright (C) 2015 Gediminas Jakutis
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; version 2.1
+ * of the License.
+ *
+ * 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef LIBRIN_DIAGNOSTIC_PRIVATE_INCLUDED
+#define LIBRIN_DIAGNOSTIC_PRIVATE_INCLUDED
+
+#include <stdio.h>
+#include <stdarg.h>
+
+static void __rin_msg(FILE *stream, const char *prefix, const char *format, va_list args);
+
+#endif /* LIBRIN_DIAGNOSTIC_PRIVATE_INCLUDED */