icheck all mem allocations - gramscii - A simple editor for ASCII box-and-arrow charts Err bitreich.org 70
1Log /scm/gramscii/log.gph bitreich.org 70
1Files /scm/gramscii/files.gph bitreich.org 70
1Refs /scm/gramscii/refs.gph bitreich.org 70
1Tags /scm/gramscii/tag bitreich.org 70
1README /scm/gramscii/file/README.md.gph bitreich.org 70
1LICENSE /scm/gramscii/file/COPYING.gph bitreich.org 70
i--- Err bitreich.org 70
1commit e4c527b0f07b91fb3cd9ba58ba057dfea9da9356 /scm/gramscii/commit/e4c527b0f07b91fb3cd9ba58ba057dfea9da9356.gph bitreich.org 70
1parent a6f10d6541be679b0ca328ba85fa44d2935937cd /scm/gramscii/commit/a6f10d6541be679b0ca328ba85fa44d2935937cd.gph bitreich.org 70
hAuthor: KatolaZ <katolaz@freaknet.org> URL:mailto:katolaz@freaknet.org bitreich.org 70
iDate: Fri, 9 Aug 2019 09:20:53 +0100 Err bitreich.org 70
i Err bitreich.org 70
icheck all mem allocations Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M draw.c | 12 +++++++++++- Err bitreich.org 70
i M lineset.c | 10 +++++----- Err bitreich.org 70
i M screen.c | 2 +- Err bitreich.org 70
i Err bitreich.org 70
i3 files changed, 17 insertions(+), 7 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/draw.c b/draw.c /scm/gramscii/file/draw.c.gph bitreich.org 70
i@@ -221,11 +221,16 @@ void get_arrow(FILE *fc){ Err bitreich.org 70
i char c; Err bitreich.org 70
i int orig_x=x, orig_y=y, arrow_len; Err bitreich.org 70
i static short *arrow = NULL; Err bitreich.org 70
i+ short *tmp = NULL; Err bitreich.org 70
i static int arrow_sz; Err bitreich.org 70
i Err bitreich.org 70
i if (!arrow){ Err bitreich.org 70
i arrow_sz = 100; Err bitreich.org 70
i arrow = malloc(arrow_sz * sizeof(short)); Err bitreich.org 70
i+ if (arrow == NULL){ Err bitreich.org 70
i+ fprintf(stderr, "Unable to allocate arrow"); Err bitreich.org 70
i+ cleanup(1); Err bitreich.org 70
i+ } Err bitreich.org 70
i } Err bitreich.org 70
i arrow_len = 0; Err bitreich.org 70
i dir = DIR_N; Err bitreich.org 70
i@@ -242,7 +247,12 @@ void get_arrow(FILE *fc){ Err bitreich.org 70
i /* FIXME: if we are out of bound, do nothing? */ Err bitreich.org 70
i if (arrow_len == arrow_sz){ Err bitreich.org 70
i arrow_sz *=2; Err bitreich.org 70
i- arrow = realloc(arrow, arrow_sz * sizeof(short)); Err bitreich.org 70
i+ tmp = realloc(arrow, arrow_sz * sizeof(short)); Err bitreich.org 70
i+ if (tmp == NULL){ Err bitreich.org 70
i+ fprintf(stderr, "Unable to reallocate arrow"); Err bitreich.org 70
i+ cleanup(1); Err bitreich.org 70
i+ } Err bitreich.org 70
i+ arrow = tmp; Err bitreich.org 70
i } Err bitreich.org 70
i if (dir != DIR_N){ Err bitreich.org 70
i arrow[arrow_len++] = dir; Err bitreich.org 70
1diff --git a/lineset.c b/lineset.c /scm/gramscii/file/lineset.c.gph bitreich.org 70
i@@ -12,9 +12,9 @@ void ensure_line_length(line_t *l, int len){ Err bitreich.org 70
i Err bitreich.org 70
i if (l->sz < len + 1){ Err bitreich.org 70
i tmp = realloc(l->s, (len+1) * 2 * sizeof(char)); Err bitreich.org 70
i- if (!tmp){ Err bitreich.org 70
i+ if (tmp == NULL){ Err bitreich.org 70
i fprintf(stderr, "Unable to allocate string\n"); Err bitreich.org 70
i- cleanup(-1); Err bitreich.org 70
i+ cleanup(1); Err bitreich.org 70
i } Err bitreich.org 70
i l->s = tmp; Err bitreich.org 70
i l->sz = (len + 1) * 2; Err bitreich.org 70
i@@ -29,7 +29,7 @@ void alloc_line(line_t *l){ Err bitreich.org 70
i tmp = malloc((l->sz) * sizeof(char)); Err bitreich.org 70
i if (tmp == NULL){ Err bitreich.org 70
i fprintf(stderr, "unable to allocate line\n"); Err bitreich.org 70
i- cleanup(-1); Err bitreich.org 70
i+ cleanup(1); Err bitreich.org 70
i } Err bitreich.org 70
i l->s = tmp; Err bitreich.org 70
i memset(l->s, BG, l->sz); Err bitreich.org 70
i@@ -46,7 +46,7 @@ void ensure_num_lines(lineset_t *ls, int n){ Err bitreich.org 70
i tmp = realloc(ls->l, (n + LONG_STEP) * sizeof(line_t)); Err bitreich.org 70
i if (tmp == NULL){ Err bitreich.org 70
i fprintf(stderr, "Unable to allocate memory for more lines"); Err bitreich.org 70
i- cleanup(-1); Err bitreich.org 70
i+ cleanup(1); Err bitreich.org 70
i } Err bitreich.org 70
i else { Err bitreich.org 70
i ls->l = tmp; Err bitreich.org 70
i@@ -147,7 +147,7 @@ void copy_lines_to_ring(int y1, int y2, int which){ Err bitreich.org 70
i tmp = realloc(undo, (undo_sz + 10) * sizeof(lineset_t)); Err bitreich.org 70
i if (tmp == NULL){ Err bitreich.org 70
i fprintf(stderr, "Error allocating undo buffer"); Err bitreich.org 70
i- cleanup(-1); Err bitreich.org 70
i+ cleanup(1); Err bitreich.org 70
i } Err bitreich.org 70
i undo = tmp; Err bitreich.org 70
i for (i=0; i<10; i++){ Err bitreich.org 70
1diff --git a/screen.c b/screen.c /scm/gramscii/file/screen.c.gph bitreich.org 70
i@@ -422,7 +422,7 @@ void init_screen(){ Err bitreich.org 70
i screen.num = HEIGHT; Err bitreich.org 70
i if (screen.l == NULL){ Err bitreich.org 70
i perror("allocating screen"); Err bitreich.org 70
i- cleanup(-1); Err bitreich.org 70
i+ cleanup(1); Err bitreich.org 70
i } Err bitreich.org 70
i for (i=0; i<HEIGHT; i++){ Err bitreich.org 70
i alloc_line(&(screen.l[i])); Err bitreich.org 70
.
Response:
text/plain