flag_create.c 592 B

12345678910111213141516171819202122232425262728
  1. #include <grass/gis.h>
  2. #include "flag.h"
  3. FLAG *flag_create(int nrows, int ncols)
  4. {
  5. unsigned char *temp;
  6. FLAG *new_flag;
  7. register int i;
  8. new_flag = (FLAG *) G_malloc(sizeof(FLAG));
  9. new_flag->nrows = nrows;
  10. new_flag->ncols = ncols;
  11. new_flag->leng = (ncols + 7) / 8;
  12. new_flag->array =
  13. (unsigned char **)G_malloc(nrows * sizeof(unsigned char *));
  14. temp =
  15. (unsigned char *)G_malloc(nrows * new_flag->leng *
  16. sizeof(unsigned char));
  17. for (i = 0; i < nrows; i++) {
  18. new_flag->array[i] = temp;
  19. temp += new_flag->leng;
  20. }
  21. return (new_flag);
  22. }