[Scummvm-cvs-logs] CVS: scummvm/backends/PalmOS/Src/missing _stdlib.cpp,1.7,1.8 stdlib.h,1.6,1.7

Chris Apers chrilith at users.sourceforge.net
Sun Sep 12 04:28:03 CEST 2004


Update of /cvsroot/scummvm/scummvm/backends/PalmOS/Src/missing
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17885

Modified Files:
	_stdlib.cpp stdlib.h 
Log Message:
New exit(...) function

Index: _stdlib.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/PalmOS/Src/missing/_stdlib.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- _stdlib.cpp	25 May 2004 13:36:02 -0000	1.7
+++ _stdlib.cpp	12 Sep 2004 11:27:36 -0000	1.8
@@ -1,90 +1,94 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2001  Ludvig Strigeus
- * Copyright (C) 2001-2004 The ScummVM project
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- *
- * $Header$
- *
- */
-
-#include "stdlib.h"
-
-void *bsearch(const void *key, const void *base, UInt32 nmemb, UInt32 size, int (*compar)(const void *, const void *)) {
-	Int32 position;
-	
-	if (SysBinarySearch(base, nmemb, size, (SearchFuncPtr)compar, key, 0, &position, true))
-		return (void *)((UInt32)base + size * position);
-	
-	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 calloc(UInt32 nelem, UInt32 elsize) {
-	MemPtr newP;
-	UInt32 size = nelem*elsize;
-
-	newP = MemGluePtrNew(size);
-
-	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) {
-	
-	if (oldP != NULL)
-		if (MemPtrResize(oldP,size) == 0)
-			return oldP;
-
-	MemPtr	newP = MemPtrNew(size);
-	
-	if (oldP!=NULL)
-	{
-		MemMove(newP,oldP,MemPtrSize(oldP));
-		MemPtrFree(oldP);
-	}	
-	return newP;
-}
-
-void exit(Int16 status) {
-	// need to change this
-	EventType event;
-	event.eType = keyDownEvent;
-	event.data.keyDown.chr = vchrLaunch;
-	event.data.keyDown.modifiers = commandKeyMask;
-	EvtAddUniqueEventToQueue  (&event, 0, true);
-}
+/* ScummVM - Scumm Interpreter

+ * Copyright (C) 2001  Ludvig Strigeus

+ * Copyright (C) 2001-2004 The ScummVM project

+ *

+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

+ *

+ * $Header$

+ *

+ */

+

+#include "stdlib.h"

+

+void *bsearch(const void *key, const void *base, UInt32 nmemb, UInt32 size, int (*compar)(const void *, const void *)) {

+	Int32 position;

+	

+	if (SysBinarySearch(base, nmemb, size, (SearchFuncPtr)compar, key, 0, &position, true))

+		return (void *)((UInt32)base + size * position);

+	

+	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 calloc(UInt32 nelem, UInt32 elsize) {

+	MemPtr newP;

+	UInt32 size = nelem*elsize;

+

+	newP = MemGluePtrNew(size);

+

+	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) {

+	

+	if (oldP != NULL)

+		if (MemPtrResize(oldP,size) == 0)

+			return oldP;

+

+	MemPtr	newP = MemPtrNew(size);

+	

+	if (oldP!=NULL)

+	{

+		MemMove(newP,oldP,MemPtrSize(oldP));

+		MemPtrFree(oldP);

+	}	

+	return newP;

+}

+

+ErrJumpBuf stdlib_errJumpBuf;

+#define ERR_MAGIC	0xDADA

+

+void exit(Int16 status) {

+	EventType event;

+	event.eType = keyDownEvent;

+	event.data.keyDown.chr = vchrLaunch;

+	event.data.keyDown.modifiers = commandKeyMask;

+	EvtAddUniqueEventToQueue(&event, 0, true);

+

+	ErrLongJump(stdlib_errJumpBuf, status == 0 ? 0xDADA : status);

+}


Index: stdlib.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/backends/PalmOS/Src/missing/stdlib.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- stdlib.h	25 May 2004 13:36:02 -0000	1.6
+++ stdlib.h	12 Sep 2004 11:27:36 -0000	1.7
@@ -1,48 +1,53 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2001  Ludvig Strigeus
- * Copyright (C) 2001-2004 The ScummVM project
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- *
- * $Header$
- *
- */
-
-#ifndef STDLIB_H
-#define STDLIB_H
-
-#include <PalmOS.h>
-#include "MemGlue.h"
-
-#define atoi				StrAToI
-#define atol				StrAToI
-#define abs(a)				((a) < 0 ? -(a) : (a))
-//#define abs					fabs
-#define	malloc(a)			MemGluePtrNew(a)
-//#define free				MemPtrFree
-//#define strtol(a,b,c)		StrAToI(a)
-#define qsort(a,b,c,d)		SysQSort((a), (b), (c), (CmpFuncPtr)(&d), 0);
-#define rand()				SysRandom(0)
-#define abort()
-#define strtoul(a,b,c)		((unsigned long)strtol(a,b,c))
-
-void	*bsearch	(const void *key, const void *base, UInt32 nmemb, UInt32 size, int (*compar)(const void *, const void *));
-MemPtr	 calloc		(UInt32 nelem, UInt32 elsize);
-void	 exit		(Int16 status);
-Err		 free		(MemPtr memP);
-MemPtr	 realloc	(MemPtr oldP, UInt32 size);
-long	 strtol		(const char *s, char **endptr, int base);
-
-#endif
+/* ScummVM - Scumm Interpreter

+ * Copyright (C) 2001  Ludvig Strigeus

+ * Copyright (C) 2001-2004 The ScummVM project

+ *

+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

+ *

+ * $Header$

+ *

+ */

+

+#ifndef STDLIB_H

+#define STDLIB_H

+

+#include <PalmOS.h>

+#include "MemGlue.h"

+

+extern ErrJumpBuf stdlib_errJumpBuf;

+

+#define DO_EXIT( code ) \

+	if (ErrSetJump(stdlib_errJumpBuf) == 0) { code }

+	

+#define atoi				StrAToI

+#define atol				StrAToI

+#define abs(a)				((a) < 0 ? -(a) : (a))

+//#define abs					fabs

+#define	malloc(a)			MemGluePtrNew(a)

+//#define free				MemPtrFree

+//#define strtol(a,b,c)		StrAToI(a)

+#define qsort(a,b,c,d)		SysQSort((a), (b), (c), (CmpFuncPtr)(&d), 0);

+#define rand()				SysRandom(0)

+#define abort()

+#define strtoul(a,b,c)		((unsigned long)strtol(a,b,c))

+

+void	*bsearch	(const void *key, const void *base, UInt32 nmemb, UInt32 size, int (*compar)(const void *, const void *));

+MemPtr	 calloc		(UInt32 nelem, UInt32 elsize);

+void	 exit		(Int16 status);

+Err		 free		(MemPtr memP);

+MemPtr	 realloc	(MemPtr oldP, UInt32 size);

+long	 strtol		(const char *s, char **endptr, int base);

+

+#endif






More information about the Scummvm-git-logs mailing list