xref: /openbsd/games/hack/alloc.c (revision 78b63d65)
1 /*	$OpenBSD: alloc.c,v 1.3 2001/08/06 22:59:13 pjanzen Exp $	*/
2 
3 #ifndef lint
4 static char rcsid[] = "$OpenBSD: alloc.c,v 1.3 2001/08/06 22:59:13 pjanzen Exp $";
5 #endif /* not lint */
6 
7 #ifdef LINT
8 
9 /*
10    a ridiculous definition, suppressing
11 	"possible pointer alignment problem" for (long *) malloc()
12 	"enlarg defined but never used"
13 	"ftell defined (in <stdio.h>) but never used"
14    from lint
15 */
16 #include <stdio.h>
17 long *
18 alloc(n) unsigned n; {
19 long dummy = ftell(stderr);
20 	if(n) dummy = 0;	/* make sure arg is used */
21 	return(&dummy);
22 }
23 
24 #else
25 
26 extern char *malloc();
27 extern char *realloc();
28 
29 long *
30 alloc(lth)
31 register unsigned lth;
32 {
33 	register char *ptr;
34 
35 	if(!(ptr = malloc(lth)))
36 		panic("Cannot get %d bytes", lth);
37 	return((long *) ptr);
38 }
39 
40 long *
41 enlarge(ptr,lth)
42 register char *ptr;
43 register unsigned lth;
44 {
45 	register char *nptr;
46 
47 	if(!(nptr = realloc(ptr,lth)))
48 		panic("Cannot reallocate %d bytes", lth);
49 	return((long *) nptr);
50 }
51 
52 #endif /* LINT */
53