aboutsummaryrefslogtreecommitdiff
path: root/saga/stack.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'saga/stack.cpp')
-rw-r--r--saga/stack.cpp181
1 files changed, 0 insertions, 181 deletions
diff --git a/saga/stack.cpp b/saga/stack.cpp
deleted file mode 100644
index c7c5cc42ae..0000000000
--- a/saga/stack.cpp
+++ /dev/null
@@ -1,181 +0,0 @@
-/* ScummVM - Scumm Interpreter
- * Copyright (C) 2004 The ScummVM project
- *
- * The ReInherit Engine is (C)2000-2003 by Daniel Balsom.
- *
- * 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$
- *
- */
-/*
- Description:
-
- Simple integer stack module
-
- Notes:
-*/
-
-#include "reinherit.h"
-
-#include "stack.h"
-#include "stack_mod.h"
-
-namespace Saga {
-
-int ISTACK_Create(R_ISTACK * stack, int stack_len, int flags)
-{
-
- R_ISTACK new_stack;
- int *new_stack_data;
-
- *stack = NULL;
-
- new_stack = (R_ISTACK_tag *)malloc(sizeof(struct R_ISTACK_tag));
-
- if (new_stack == NULL) {
- return STACK_MEM;
- }
-
- new_stack_data = (int *)calloc(stack_len, sizeof(int));
-
- if (new_stack_data == NULL) {
-
- free(new_stack);
- return STACK_MEM;
- }
-
- new_stack->flags = flags;
- new_stack->len = stack_len;
- new_stack->top = -1;
-
- return STACK_SUCCESS;
-}
-
-int ISTACK_Destroy(R_ISTACK * stack)
-{
-
- if (stack != NULL) {
- free((*stack)->data);
- }
-
- free(stack);
-
- *stack = NULL;
-
- return STACK_SUCCESS;
-}
-
-int ISTACK_Clear(R_ISTACK stack)
-{
-
- stack->top = -1;
- return STACK_SUCCESS;
-}
-
-int ISTACK_PushNull(R_ISTACK stack)
-{
-
- if (stack->top >= (stack->len - 1)) {
-
- if (stack->flags & STACK_FIXED) {
-
- return STACK_OVERFLOW;
- } else if (ISTACK_Grow(stack) != STACK_SUCCESS) {
-
- return STACK_MEM;
- }
- }
-
- stack->top++;
-
- return STACK_SUCCESS;
-}
-
-int ISTACK_Push(R_ISTACK stack, int value)
-{
-
- if (stack->top >= (stack->len - 1)) {
-
- if (stack->flags & STACK_FIXED) {
-
- return STACK_OVERFLOW;
- } else if (ISTACK_Grow(stack) != STACK_SUCCESS) {
-
- return STACK_MEM;
- }
- }
-
- stack->top++;
- stack->data[stack->top] = value;
-
- return STACK_SUCCESS;
-}
-
-int ISTACK_Pop(R_ISTACK stack, int *value)
-{
-
- if (stack->top <= -1) {
-
- return STACK_UNDERFLOW;
- }
-
- if (value == NULL) {
-
- stack->top--;
- return STACK_SUCCESS;
- }
-
- *value = stack->data[stack->top];
- stack->top--;
-
- return STACK_SUCCESS;
-}
-
-int ISTACK_Top(R_ISTACK stack, int *value)
-{
- *value = 0;
-
- if (stack->top <= -1) {
-
- return STACK_UNDERFLOW;
- }
-
- *value = stack->data[stack->top];
-
- return STACK_SUCCESS;
-
-}
-
-int ISTACK_Grow(R_ISTACK stack)
-{
-
- int *new_data;
-
- new_data = (int *)realloc(stack->data, (stack->len * 2) * sizeof(int));
-
- if (new_data == NULL) {
-
- return STACK_MEM;
- };
-
- stack->data = new_data;
- stack->len *= 2;
-
- return STACK_SUCCESS;
-}
-
-} // End of namespace Saga
-