blob: 0adf8549a1f2dded46a3c0f343119ebfafa3575c (
plain)
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
|
/******************************************************************************
* *
* Copyright (C) 1992-1995 Tony Robinson *
* *
* See the file doc/LICENSE.shorten for conditions on distribution and usage *
* *
******************************************************************************/
/*
* $Id: array.c,v 1.7 2003/08/26 05:34:04 jason Exp $
*/
#include <stdio.h>
#include <stdlib.h>
#include "shorten.h"
#include "shn.h"
void *pmalloc(ulong size, shn_file *this_shn) {
void *ptr;
ptr = malloc(size);
if(ptr == NULL)
shn_error_fatal(this_shn,"Call to malloc(%ld) failed in pmalloc() -\nyour system may be low on memory", size);
return(ptr);
}
slong **long2d(ulong n0, ulong n1, shn_file *this_shn) {
slong **array0 = NULL;
if((array0 = (slong**) pmalloc((ulong) (n0 * sizeof(slong*) +
n0 * n1 * sizeof(slong)),this_shn)) != NULL ) {
slong *array1 = (slong*) (array0 + n0);
int i;
for(i = 0; i < n0; i++)
array0[i] = array1 + i * n1;
}
return(array0);
}
|