From fd256bbb5192505a966b5cf3700a6e89104b647f Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Sun, 23 Sep 2012 12:20:51 +0200 Subject: [PATCH] Remove ReadParamString implementation from asteroids. --- games/asteroids.cpp | 50 +-------------------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) diff --git a/games/asteroids.cpp b/games/asteroids.cpp index 4378aca6..3024cdac 100644 --- a/games/asteroids.cpp +++ b/games/asteroids.cpp @@ -9,6 +9,7 @@ #include #include #include +#include // This define runs the game without actually setting the video mode and // checking whether the frame was actually copied to the screen. useful for @@ -1077,55 +1078,6 @@ char* GetCurrentVideoMode() return mode; } -// TODO: This should be in libc and not use libmaxsi. -#include -#include -using namespace Maxsi; -extern "C" bool ReadParamString(const char* str, ...) -{ - if ( strchr(str, '\n') ) { errno = EINVAL; } - const char* keyname; - va_list args; - while ( *str ) - { - size_t varlen = strcspn(str, ","); - if ( !varlen ) { str++; continue; } - size_t namelen = strcspn(str, "="); - if ( !namelen ) { errno = EINVAL; goto cleanup; } - if ( !str[namelen] ) { errno = EINVAL; goto cleanup; } - if ( varlen < namelen ) { errno = EINVAL; goto cleanup; } - size_t valuelen = varlen - 1 /*=*/ - namelen; - char* name = String::Substring(str, 0, namelen); - if ( !name ) { goto cleanup; } - char* value = String::Substring(str, namelen+1, valuelen); - if ( !value ) { delete[] name; goto cleanup; } - va_start(args, str); - while ( (keyname = va_arg(args, const char*)) ) - { - char** nameptr = va_arg(args, char**); - if ( strcmp(keyname, name) ) { continue; } - *nameptr = value; - break; - } - va_end(args); - if ( !keyname ) { delete[] value; } - delete[] name; - str += varlen; - str += strspn(str, ","); - } - return true; - -cleanup: - va_start(args, str); - while ( (keyname = va_arg(args, const char*)) ) - { - char** nameptr = va_arg(args, char**); - delete[] *nameptr; *nameptr = NULL; - } - va_end(args); - return false; -} - int atoi_safe(const char* str) { if ( !str ) { return 0; }