forked from dungeons-of-moria/icmoria
-
Notifications
You must be signed in to change notification settings - Fork 0
/
port.c
108 lines (90 loc) · 2.81 KB
/
port.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/* port.c */
/* code to help port the vax pascal into linux c */
#include "imoria.h"
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
void * safe_malloc(int blocksize, char *message)
{
void * new_pointer;
if((new_pointer = (void *)malloc(blocksize)) == NULL) {
printf("\n\r\n\rMemory error (%d bytes)! Ref: %s.\n\r\n\r",blocksize,message);
printf("malloc calls: %ld\tmalloc bytes: %ld\n\r",malloc_calls,malloc_bytes);
printf("free calls: %ld\tfree bytes: %ld\n\r",free_calls,free_bytes);
printf("\n\rdelta calls: %ld\ndelta bytes: %ld\n\r",
malloc_calls-free_calls,malloc_bytes-free_bytes);
printf("\n\r\n\r");
exit_game();
}
malloc_calls++;
malloc_bytes += blocksize;
return new_pointer;
};
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
void dispose(void *ptr, int size, char *message)
{
free_calls++;
free_bytes += size;
free(ptr);
};
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
char * chomp(char *input_line)
{
/* remove \n from the end of a string if there is one */
integer x;
x = strlen(input_line);
if (x && (input_line[x-1] == '\n'))
{
input_line[x-1] = 0;
}
return input_line;
}; /* end chomp */
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
integer min3(integer i1, integer i2, integer i3)
{
if (i1 < i2) {
return (i1 < i3) ? i1 : i3;
} else {
return (i2 < i3) ? i2 : i3;
}
};
//////////////////////////////////////////////////////////////////////
void ignore_signals()
{
};
void restore_signals()
{
};
void default_signals()
{
};
/* Something happens to disturb the player. -CJS-
The first arg indicates a major disturbance, which affects search.
The second arg indicates a light change. */
/* see moria1.c from umoria */
void disturb(s, l)
int s, l;
{
#if 0
command_count = 0;
if (s && search_flag)
search_off();
if (py.flags.rest > 0)
rest_off();
if (l || find_flag)
{
find_flag = FALSE;
check_view();
}
#endif
}
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
/* END FILE port.c */