diff src/SDL_error.c @ 1662:782fd950bd46 SDL-1.3

Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API. WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid. The code is now run through a consistent indent format: indent -i4 -nut -nsc -br -ce The headers are being converted to automatically generate doxygen documentation.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 28 May 2006 13:04:16 +0000
parents 14717b52abc0
children 4da1ee79c9af
line wrap: on
line diff
--- a/src/SDL_error.c	Sun May 21 17:27:13 2006 +0000
+++ b/src/SDL_error.c	Sun May 28 13:04:16 2006 +0000
@@ -32,207 +32,224 @@
 static SDL_error SDL_global_error;
 #define SDL_GetErrBuf()	(&SDL_global_error)
 #else
-extern SDL_error *SDL_GetErrBuf(void);
+extern SDL_error *SDL_GetErrBuf (void);
 #endif /* SDL_THREADS_DISABLED */
 
 #define SDL_ERRBUFIZE	1024
 
 /* Private functions */
 
-static const char *SDL_LookupString(const char *key)
+static const char *
+SDL_LookupString (const char *key)
 {
-	/* FIXME: Add code to lookup key in language string hash-table */
-	return key;
+    /* FIXME: Add code to lookup key in language string hash-table */
+    return key;
 }
 
 /* Public functions */
 
-void SDL_SetError (const char *fmt, ...)
+void
+SDL_SetError (const char *fmt, ...)
 {
-	va_list ap;
-	SDL_error *error;
+    va_list ap;
+    SDL_error *error;
 
-	/* Copy in the key, mark error as valid */
-	error = SDL_GetErrBuf();
-	error->error = 1;
-	SDL_strlcpy((char *)error->key, fmt, sizeof(error->key));
+    /* Copy in the key, mark error as valid */
+    error = SDL_GetErrBuf ();
+    error->error = 1;
+    SDL_strlcpy ((char *) error->key, fmt, sizeof (error->key));
 
-	va_start(ap, fmt);
-	error->argc = 0;
-	while ( *fmt ) {
-		if ( *fmt++ == '%' ) {
-			while ( *fmt == '.' || (*fmt >= '0' && *fmt <= '9') ) {
-				++fmt;
-			}
-			switch (*fmt++) {
-			    case 0:  /* Malformed format string.. */
-				--fmt;
-				break;
-			    case 'c':
-			    case 'i':
-			    case 'd':
-			    case 'u':
-			    case 'o':
-			    case 'x':
-			    case 'X':
-				error->args[error->argc++].value_i =
-							va_arg(ap, int);
-				break;
-			    case 'f':
-				error->args[error->argc++].value_f =
-							va_arg(ap, double);
-				break;
-			    case 'p':
-				error->args[error->argc++].value_ptr =
-							va_arg(ap, void *);
-				break;
-			    case 's':
-				{
-				  int i = error->argc;
-				  const char *str = va_arg(ap, const char *);
-				  if (str == NULL)
-				      str = "(null)";
-				  SDL_strlcpy((char *)error->args[i].buf, str, ERR_MAX_STRLEN);
-				  error->argc++;
-				}
-				break;
-			    default:
-				break;
-			}
-			if ( error->argc >= ERR_MAX_ARGS ) {
-				break;
-			}
-		}
-	}
-	va_end(ap);
+    va_start (ap, fmt);
+    error->argc = 0;
+    while (*fmt) {
+        if (*fmt++ == '%') {
+            while (*fmt == '.' || (*fmt >= '0' && *fmt <= '9')) {
+                ++fmt;
+            }
+            switch (*fmt++) {
+            case 0:            /* Malformed format string.. */
+                --fmt;
+                break;
+            case 'c':
+            case 'i':
+            case 'd':
+            case 'u':
+            case 'o':
+            case 'x':
+            case 'X':
+                error->args[error->argc++].value_i = va_arg (ap, int);
+                break;
+            case 'f':
+                error->args[error->argc++].value_f = va_arg (ap, double);
+                break;
+            case 'p':
+                error->args[error->argc++].value_ptr = va_arg (ap, void *);
+                break;
+            case 's':
+                {
+                    int i = error->argc;
+                    const char *str = va_arg (ap, const char *);
+                    if (str == NULL)
+                        str = "(null)";
+                    SDL_strlcpy ((char *) error->args[i].buf, str,
+                                 ERR_MAX_STRLEN);
+                    error->argc++;
+                }
+                break;
+            default:
+                break;
+            }
+            if (error->argc >= ERR_MAX_ARGS) {
+                break;
+            }
+        }
+    }
+    va_end (ap);
 
-	/* If we are in debug mode, print out an error message */
+    /* If we are in debug mode, print out an error message */
 #ifdef DEBUG_ERROR
-	fprintf(stderr, "SDL_SetError: %s\n", SDL_GetError());
+    fprintf (stderr, "SDL_SetError: %s\n", SDL_GetError ());
 #endif
 }
 
 /* This function has a bit more overhead than most error functions
    so that it supports internationalization and thread-safe errors.
 */
-char *SDL_GetErrorMsg(char *errstr, unsigned int maxlen)
+char *
+SDL_GetErrorMsg (char *errstr, unsigned int maxlen)
 {
-	SDL_error *error;
-
-	/* Clear the error string */
-	*errstr = '\0'; --maxlen;
+    SDL_error *error;
 
-	/* Get the thread-safe error, and print it out */
-	error = SDL_GetErrBuf();
-	if ( error->error ) {
-		const char *fmt;
-		char *msg = errstr;
-		int len;
-		int argi;
+    /* Clear the error string */
+    *errstr = '\0';
+    --maxlen;
+
+    /* Get the thread-safe error, and print it out */
+    error = SDL_GetErrBuf ();
+    if (error->error) {
+        const char *fmt;
+        char *msg = errstr;
+        int len;
+        int argi;
 
-		fmt = SDL_LookupString(error->key);
-		argi = 0;
-		while ( *fmt && (maxlen > 0) ) {
-			if ( *fmt == '%' ) {
-				char tmp[32], *spot = tmp;
-				*spot++ = *fmt++;
-				while ( (*fmt == '.' || (*fmt >= '0' && *fmt <= '9')) && spot < (tmp+SDL_arraysize(tmp)-2) ) {
-					*spot++ = *fmt++;
-				}
-				*spot++ = *fmt++;
-				*spot++ = '\0';
-				switch (spot[-2]) {
-				    case '%':
-					*msg++ = '%';
-					maxlen -= 1;
-					break;
-				    case 'c':
-				    case 'i':
-			            case 'd':
-			            case 'u':
-			            case 'o':
-				    case 'x':
-				    case 'X':
-					len = SDL_snprintf(msg, maxlen, tmp, error->args[argi++].value_i);
-					msg += len;
-					maxlen -= len;
-					break;
-				    case 'f':
-					len = SDL_snprintf(msg, maxlen, tmp, error->args[argi++].value_f);
-					msg += len;
-					maxlen -= len;
-					break;
-				    case 'p':
-					len = SDL_snprintf(msg, maxlen, tmp, error->args[argi++].value_ptr);
-					msg += len;
-					maxlen -= len;
-					break;
-				    case 's':
-					len = SDL_snprintf(msg, maxlen, tmp, SDL_LookupString(error->args[argi++].buf));
-					msg += len;
-					maxlen -= len;
-					break;
-				}
-			} else {
-				*msg++ = *fmt++;
-				maxlen -= 1;
-			}
-		}
-		*msg = 0;	/* NULL terminate the string */
-	}
-	return(errstr);
+        fmt = SDL_LookupString (error->key);
+        argi = 0;
+        while (*fmt && (maxlen > 0)) {
+            if (*fmt == '%') {
+                char tmp[32], *spot = tmp;
+                *spot++ = *fmt++;
+                while ((*fmt == '.' || (*fmt >= '0' && *fmt <= '9'))
+                       && spot < (tmp + SDL_arraysize (tmp) - 2)) {
+                    *spot++ = *fmt++;
+                }
+                *spot++ = *fmt++;
+                *spot++ = '\0';
+                switch (spot[-2]) {
+                case '%':
+                    *msg++ = '%';
+                    maxlen -= 1;
+                    break;
+                case 'c':
+                case 'i':
+                case 'd':
+                case 'u':
+                case 'o':
+                case 'x':
+                case 'X':
+                    len =
+                        SDL_snprintf (msg, maxlen, tmp,
+                                      error->args[argi++].value_i);
+                    msg += len;
+                    maxlen -= len;
+                    break;
+                case 'f':
+                    len =
+                        SDL_snprintf (msg, maxlen, tmp,
+                                      error->args[argi++].value_f);
+                    msg += len;
+                    maxlen -= len;
+                    break;
+                case 'p':
+                    len =
+                        SDL_snprintf (msg, maxlen, tmp,
+                                      error->args[argi++].value_ptr);
+                    msg += len;
+                    maxlen -= len;
+                    break;
+                case 's':
+                    len =
+                        SDL_snprintf (msg, maxlen, tmp,
+                                      SDL_LookupString (error->
+                                                        args[argi++].buf));
+                    msg += len;
+                    maxlen -= len;
+                    break;
+                }
+            } else {
+                *msg++ = *fmt++;
+                maxlen -= 1;
+            }
+        }
+        *msg = 0;               /* NULL terminate the string */
+    }
+    return (errstr);
 }
 
 /* Available for backwards compatibility */
-char *SDL_GetError (void)
+char *
+SDL_GetError (void)
 {
-	static char errmsg[SDL_ERRBUFIZE];
+    static char errmsg[SDL_ERRBUFIZE];
 
-	return((char *)SDL_GetErrorMsg(errmsg, SDL_ERRBUFIZE));
+    return ((char *) SDL_GetErrorMsg (errmsg, SDL_ERRBUFIZE));
 }
 
-void SDL_ClearError(void)
+void
+SDL_ClearError (void)
 {
-	SDL_error *error;
+    SDL_error *error;
 
-	error = SDL_GetErrBuf();
-	error->error = 0;
+    error = SDL_GetErrBuf ();
+    error->error = 0;
 }
 
 /* Very common errors go here */
-void SDL_Error(SDL_errorcode code)
+void
+SDL_Error (SDL_errorcode code)
 {
-	switch (code) {
-		case SDL_ENOMEM:
-			SDL_SetError("Out of memory");
-			break;
-		case SDL_EFREAD:
-			SDL_SetError("Error reading from datastream");
-			break;
-		case SDL_EFWRITE:
-			SDL_SetError("Error writing to datastream");
-			break;
-		case SDL_EFSEEK:
-			SDL_SetError("Error seeking in datastream");
-			break;
-		default:
-			SDL_SetError("Unknown SDL error");
-			break;
-	}
+    switch (code) {
+    case SDL_ENOMEM:
+        SDL_SetError ("Out of memory");
+        break;
+    case SDL_EFREAD:
+        SDL_SetError ("Error reading from datastream");
+        break;
+    case SDL_EFWRITE:
+        SDL_SetError ("Error writing to datastream");
+        break;
+    case SDL_EFSEEK:
+        SDL_SetError ("Error seeking in datastream");
+        break;
+    default:
+        SDL_SetError ("Unknown SDL error");
+        break;
+    }
 }
 
 #ifdef TEST_ERROR
-int main(int argc, char *argv[])
+int
+main (int argc, char *argv[])
 {
-	char buffer[BUFSIZ+1];
+    char buffer[BUFSIZ + 1];
 
-	SDL_SetError("Hi there!");
-	printf("Error 1: %s\n", SDL_GetError());
-	SDL_ClearError();
-	SDL_memset(buffer, '1', BUFSIZ);
-	buffer[BUFSIZ] = 0;
-	SDL_SetError("This is the error: %s (%f)", buffer, 1.0);
-	printf("Error 2: %s\n", SDL_GetError());
-	exit(0);
+    SDL_SetError ("Hi there!");
+    printf ("Error 1: %s\n", SDL_GetError ());
+    SDL_ClearError ();
+    SDL_memset (buffer, '1', BUFSIZ);
+    buffer[BUFSIZ] = 0;
+    SDL_SetError ("This is the error: %s (%f)", buffer, 1.0);
+    printf ("Error 2: %s\n", SDL_GetError ());
+    exit (0);
 }
 #endif
+/* vi: set ts=4 sw=4 expandtab: */