00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <stdlib.h>
00021 #include <grass/gis.h>
00022 #include <grass/Vect.h>
00023
00024
00025 int
00026 dig_init_list ( struct ilist *list )
00027 {
00028 list->value = NULL;
00029 list->n_values = 0;
00030 list->alloc_values = 0;
00031
00032 return 1;
00033 }
00034
00035
00036 int
00037 dig_list_add ( struct ilist *list, int val )
00038 {
00039 void *p;
00040 int size;
00041
00042 if ( list->n_values == list->alloc_values ) {
00043 size = (list->n_values + 1000) * sizeof(int);
00044 p = realloc ( (void *) list->value, size );
00045 if ( p == NULL ) return 0;
00046 list->value = (int *) p;
00047 list->alloc_values = list->n_values + 1000;
00048 }
00049
00050 list->value[list->n_values] = val;
00051 list->n_values++;
00052
00053 return 1;
00054 }