aboutsummaryrefslogtreecommitdiff
path: root/src/vector1.c
diff options
context:
space:
mode:
authorFrank Warmerdam <warmerdam@pobox.com>1999-03-18 16:34:52 +0000
committerFrank Warmerdam <warmerdam@pobox.com>1999-03-18 16:34:52 +0000
commit565a4bd035b9d4a83955808efef20f1d8dfa24cf (patch)
tree75785fc897708023f1ccdaf40079afcbaaf0fd3a /src/vector1.c
downloadPROJ-565a4bd035b9d4a83955808efef20f1d8dfa24cf.tar.gz
PROJ-565a4bd035b9d4a83955808efef20f1d8dfa24cf.zip
New
git-svn-id: http://svn.osgeo.org/metacrs/proj/trunk@776 4e78687f-474d-0410-85f9-8d5e500ac6b2
Diffstat (limited to 'src/vector1.c')
-rw-r--r--src/vector1.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/vector1.c b/src/vector1.c
new file mode 100644
index 00000000..0ca3816b
--- /dev/null
+++ b/src/vector1.c
@@ -0,0 +1,32 @@
+/* make storage for one and two dimensional matricies */
+#ifndef lint
+static const char SCCSID[]="@(#)vector1.c 4.4 94/03/22 GIE REL";
+#endif
+#include <stdlib.h>
+#include <projects.h>
+ void * /* one dimension array */
+vector1(int nvals, int size) { return((void *)pj_malloc(size * nvals)); }
+ void /* free 2D array */
+freev2(void **v, int nrows) {
+ if (v) {
+ for (v += nrows; nrows > 0; --nrows)
+ pj_dalloc(*--v);
+ pj_dalloc(v);
+ }
+}
+ void ** /* two dimension array */
+vector2(int nrows, int ncols, int size) {
+ void **s;
+
+ if (s = (void **)pj_malloc(sizeof(void *) * nrows)) {
+ int rsize, i;
+
+ rsize = size * ncols;
+ for (i = 0; i < nrows; ++i)
+ if (!(s[i] = pj_malloc(rsize))) {
+ freev2(s, i);
+ return (void **)0;
+ }
+ }
+ return s;
+}