Mercurial > hg > dmlib
view minijss/jss.c @ 1896:f80b2dc77c30
Work begins on IFF ILBM/PBM image writer. It is pretty broken, some things
will not work and some things are hardcoded. The ByteRun1 compression
implementation is somewhat inefficient. Interleaved files do not work yet.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 26 Jun 2018 03:13:38 +0300 |
parents | aa3738b121d1 |
children | 9807ae37ad69 |
line wrap: on
line source
/* * miniJSS - General functions * Programmed and designed by Matti 'ccr' Hamalainen * (C) Copyright 2006-2015 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, const char *filename, int linen, const char *fmt, ...); void (*jssWarning) (int code, const char *filename, int linen, const char *fmt, ...); void jssDefaultPrint(int code, const char *filename, int linen, const char *fmt) { fprintf(stderr, "JSS"); if (filename) fprintf(stderr, "[%s:%i]", filename, linen); fprintf(stderr, "%s", fmt); if (code > 0) fprintf(stderr, "(%i)", code); fprintf(stderr, ": "); } void jssDefaultError(int code, const char *filename, int linen, const 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, const char *filename, int linen, const char *fmt, ...) { va_list ap; jssDefaultPrint(code, filename, linen, "W"); va_start(ap, fmt); vfprintf(stderr, fmt, ap); va_end(ap); } #endif /* System initialization */ int jssInit(void) { // Error handling #ifndef JSS_LIGHT jssWarningIsFatal = FALSE; jssErrorIsFatal = TRUE; jssError = jssDefaultError; jssWarning = jssDefaultWarning; #endif // Allocate global tables return DMERR_OK; } /* System shutdown */ int jssClose(void) { return DMERR_OK; }