#include #include #include "flag.h" FLAG *flag_create (int nrows, int ncols) { unsigned char *temp; FLAG *new_flag; register int i; new_flag = (FLAG *)G_malloc (sizeof(FLAG)); if (new_flag == NULL) { return ((FLAG *) NULL); } new_flag->nrows = nrows; new_flag->ncols = ncols; new_flag->leng = (ncols + 7) / 8; new_flag->array = (unsigned char **)G_malloc (nrows * sizeof(unsigned char *)); if (new_flag->array == NULL) { G_free (new_flag); return((FLAG *) NULL); } temp = (unsigned char *)G_calloc (nrows * new_flag->leng, sizeof(unsigned char)); if (temp == NULL) { G_free (new_flag->array); G_free (new_flag); return((FLAG *) NULL); } for (i=0; iarray[i] = temp; temp += new_flag->leng; } return(new_flag); }