Mercurial > hg > dmlib
view jss.c @ 296:6d62918739c6
Improve screen update logic.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 11 Oct 2012 16:41:33 +0300 |
parents | 32250b436bca |
children | 54974f4f2ad6 |
line wrap: on
line source
/* * 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; }