From 1d9693f35b03ca5ecc85de3d6af87ea64c1b2c9c Mon Sep 17 00:00:00 2001 From: Chris Apers Date: Sat, 25 Feb 2006 21:25:09 +0000 Subject: Correct name svn-id: r20897 --- backends/PalmOS/Src/missing/ext_stdlib.c | 130 +++++++++++++++++++++++++++++++ backends/PalmOS/Src/missing/ext_stlib.c | 130 ------------------------------- 2 files changed, 130 insertions(+), 130 deletions(-) create mode 100644 backends/PalmOS/Src/missing/ext_stdlib.c delete mode 100644 backends/PalmOS/Src/missing/ext_stlib.c (limited to 'backends/PalmOS') diff --git a/backends/PalmOS/Src/missing/ext_stdlib.c b/backends/PalmOS/Src/missing/ext_stdlib.c new file mode 100644 index 0000000000..11a242145a --- /dev/null +++ b/backends/PalmOS/Src/missing/ext_stdlib.c @@ -0,0 +1,130 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2001 Ludvig Strigeus + * Copyright (C) 2001-2006 The ScummVM project + * Copyright (C) 2002-2006 Chris Apers - PalmOS Backend + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +#include + +#define memNewChunkFlagAllowLarge 0x1000 +SysAppInfoPtr SysGetAppInfo(SysAppInfoPtr *uiAppPP, SysAppInfoPtr *actionCodeAppPP) SYS_TRAP(sysTrapSysGetAppInfo); + +void *bsearch(const void *key, const void *base, UInt32 nmemb, UInt32 size, int (*compar)(const void *, const void *)) { +#ifdef PALMOS_68K + Int32 position; + if (SysBinarySearch(base, nmemb, size, (SearchFuncPtr)compar, key, 0, &position, true)) + return (void *)((UInt32)base + size * position); +#else + int i; + for (i = 0; i < nmemb; i++) + if (compar(key, (void*)((UInt32)base + size * i)) == 0) + return (void*)((UInt32)base + size * i); +#endif + + return NULL; +} + +long strtol(const char *s, char **endptr, int base) { + // WARNING : only base = 10 supported + long val = StrAToI(s); + + if (endptr) { + Char str[maxStrIToALen]; + StrIToA(str, val); + + if (StrNCompare(s, str, StrLen(str)) == 0) + *endptr = (char *)s + StrLen(str); + } + + return val; +} + +MemPtr __malloc(UInt32 size) { + MemPtr newP = NULL; + + if (size <= 65000) { + newP = MemPtrNew(size); + } else { + SysAppInfoPtr appInfoP; + UInt16 ownerID; + UInt16 attr; + + ownerID = ((SysAppInfoPtr)SysGetAppInfo(&appInfoP, &appInfoP))->memOwnerID; + attr = ownerID|memNewChunkFlagAllowLarge|memNewChunkFlagNonMovable; + + newP = MemChunkNew(0, size, attr); + } + + return newP; +} + +MemPtr calloc(UInt32 nelem, UInt32 elsize) { + MemPtr newP; + UInt32 size = (nelem * elsize); + + newP = malloc(size); // was MemGluePtrNew + + if (newP) + MemSet(newP,size,0); + + return newP; +} + +Err free(MemPtr memP) { + if (memP) + return MemPtrFree(memP); + return memErrInvalidParam; +} + +MemPtr realloc(MemPtr oldP, UInt32 size) { + MemPtr newP; + + if (oldP != NULL) + if (MemPtrResize(oldP, size) == 0) + return oldP; + + newP = malloc(size); // was MemPtrNew + + if (oldP!=NULL) { + MemMove(newP,oldP,MemPtrSize(oldP)); + MemPtrFree(oldP); + } + + return newP; +} + +ErrJumpBuf stdlib_errJumpBuf; +#define ERR_MAGIC 0xDADA + +void exit(Int16 status) { +#if (defined(PALMOS_ARM) && defined(COMPILE_ZODIAC)) + SysEventType event; + event.eType = sysEventKeyDownEvent; +#else + EventType event; + event.eType = keyDownEvent; +#endif + event.data.keyDown.chr = vchrLaunch; + event.data.keyDown.modifiers = commandKeyMask; + EvtAddUniqueEventToQueue(&event, 0, true); + + ErrLongJump(stdlib_errJumpBuf, status == 0 ? 0xDADA : status); +} diff --git a/backends/PalmOS/Src/missing/ext_stlib.c b/backends/PalmOS/Src/missing/ext_stlib.c deleted file mode 100644 index 11a242145a..0000000000 --- a/backends/PalmOS/Src/missing/ext_stlib.c +++ /dev/null @@ -1,130 +0,0 @@ -/* ScummVM - Scumm Interpreter - * Copyright (C) 2001 Ludvig Strigeus - * Copyright (C) 2001-2006 The ScummVM project - * Copyright (C) 2002-2006 Chris Apers - PalmOS Backend - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * $URL$ - * $Id$ - * - */ - -#include - -#define memNewChunkFlagAllowLarge 0x1000 -SysAppInfoPtr SysGetAppInfo(SysAppInfoPtr *uiAppPP, SysAppInfoPtr *actionCodeAppPP) SYS_TRAP(sysTrapSysGetAppInfo); - -void *bsearch(const void *key, const void *base, UInt32 nmemb, UInt32 size, int (*compar)(const void *, const void *)) { -#ifdef PALMOS_68K - Int32 position; - if (SysBinarySearch(base, nmemb, size, (SearchFuncPtr)compar, key, 0, &position, true)) - return (void *)((UInt32)base + size * position); -#else - int i; - for (i = 0; i < nmemb; i++) - if (compar(key, (void*)((UInt32)base + size * i)) == 0) - return (void*)((UInt32)base + size * i); -#endif - - return NULL; -} - -long strtol(const char *s, char **endptr, int base) { - // WARNING : only base = 10 supported - long val = StrAToI(s); - - if (endptr) { - Char str[maxStrIToALen]; - StrIToA(str, val); - - if (StrNCompare(s, str, StrLen(str)) == 0) - *endptr = (char *)s + StrLen(str); - } - - return val; -} - -MemPtr __malloc(UInt32 size) { - MemPtr newP = NULL; - - if (size <= 65000) { - newP = MemPtrNew(size); - } else { - SysAppInfoPtr appInfoP; - UInt16 ownerID; - UInt16 attr; - - ownerID = ((SysAppInfoPtr)SysGetAppInfo(&appInfoP, &appInfoP))->memOwnerID; - attr = ownerID|memNewChunkFlagAllowLarge|memNewChunkFlagNonMovable; - - newP = MemChunkNew(0, size, attr); - } - - return newP; -} - -MemPtr calloc(UInt32 nelem, UInt32 elsize) { - MemPtr newP; - UInt32 size = (nelem * elsize); - - newP = malloc(size); // was MemGluePtrNew - - if (newP) - MemSet(newP,size,0); - - return newP; -} - -Err free(MemPtr memP) { - if (memP) - return MemPtrFree(memP); - return memErrInvalidParam; -} - -MemPtr realloc(MemPtr oldP, UInt32 size) { - MemPtr newP; - - if (oldP != NULL) - if (MemPtrResize(oldP, size) == 0) - return oldP; - - newP = malloc(size); // was MemPtrNew - - if (oldP!=NULL) { - MemMove(newP,oldP,MemPtrSize(oldP)); - MemPtrFree(oldP); - } - - return newP; -} - -ErrJumpBuf stdlib_errJumpBuf; -#define ERR_MAGIC 0xDADA - -void exit(Int16 status) { -#if (defined(PALMOS_ARM) && defined(COMPILE_ZODIAC)) - SysEventType event; - event.eType = sysEventKeyDownEvent; -#else - EventType event; - event.eType = keyDownEvent; -#endif - event.data.keyDown.chr = vchrLaunch; - event.data.keyDown.modifiers = commandKeyMask; - EvtAddUniqueEventToQueue(&event, 0, true); - - ErrLongJump(stdlib_errJumpBuf, status == 0 ? 0xDADA : status); -} -- cgit v1.2.3