diff jss.c @ 0:32250b436bca

Initial re-import.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 28 Sep 2012 01:54:23 +0300
parents
children 54974f4f2ad6
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jss.c	Fri Sep 28 01:54:23 2012 +0300
@@ -0,0 +1,79 @@
+/*
+ * miniJSS - General functions
+ * Programmed and designed by Matti 'ccr' Hamalainen
+ * (C) Copyright 2006-2007 Tecnic Software productions (TNSP)
+ */
+#include "jss.h"
+#include <stdarg.h>
+
+
+/* Memory and error handling functions
+ */
+
+BOOL jssWarningIsFatal, jssErrorIsFatal;
+
+#ifndef JSS_LIGHT
+void (*jssError) (int code, char * filename, int linen, char * fmt, ...);
+void (*jssWarning) (int code, char * filename, int linen, char * fmt, ...);
+#endif
+
+
+void jssDefaultPrint(int code, char * filename, int linen, char * fmt)
+{
+    fprintf(stderr, "JSS");
+    if (filename)
+        fprintf(stderr, "[%s:%i]", filename, linen);
+    fprintf(stderr, fmt);
+    if (code > 0)
+        fprintf(stderr, "(%i)", code);
+    fprintf(stderr, ": ");
+}
+
+
+void jssDefaultError(int code, char * filename, int linen, char * fmt, ...)
+{
+    va_list ap;
+    jssDefaultPrint(code, filename, linen, "E");
+
+    va_start(ap, fmt);
+    vfprintf(stderr, fmt, ap);
+    va_end(ap);
+}
+
+
+void jssDefaultWarning(int code, char * filename, int linen, char * fmt, ...)
+{
+    va_list ap;
+    jssDefaultPrint(code, filename, linen, "W");
+
+    va_start(ap, fmt);
+    vfprintf(stderr, fmt, ap);
+    va_end(ap);
+}
+
+
+/* System initialization
+ */
+int jssInit(void)
+{
+    // Error handling
+    jssWarningIsFatal = FALSE;
+    jssErrorIsFatal = TRUE;
+
+#ifndef JSS_LIGHT
+    jssError = jssDefaultError;
+    jssWarning = jssDefaultWarning;
+#endif
+
+    // Allocate global tables
+
+    return DMERR_OK;
+}
+
+
+/* System shutdown
+ */
+int jssClose(void)
+{
+    return DMERR_OK;
+}