smart wwrite: copy in chunks.
[unix-history] / usr / src / usr.bin / window / wwalloc.c
CommitLineData
ce3cd9c6 1#ifndef lint
14f251df 2static char *sccsid = "@(#)wwalloc.c 3.2 83/08/11";
ce3cd9c6
EW
3#endif
4
5#include "ww.h"
6
7char **
8wwalloc(nrow, ncol, size)
9{
10 register char **p;
11 register int i;
12
13 p = (char **) malloc((unsigned) nrow * sizeof (char *));
14 if (p == 0)
15 return 0;
16 for (i = 0; i < nrow; i++) {
17 p[i] = malloc((unsigned) ncol * size);
18 if (p[i] == 0) {
19 wwfree(p, i);
20 return 0;
21 }
22 }
23 return p;
24}
25
26wwfree(p, nrow)
27register char **p;
28{
29 register int i;
30
31 if (p == 0)
32 return;
33 for (i = 0; i < nrow; i++)
34 free(p[i]);
35 free((char *)p);
36}