iremove trailing blank lines in write_file - change check_bound - 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 82a7c12e8338288ccb40d213fcc9e15d102aa968 /scm/gramscii/commit/82a7c12e8338288ccb40d213fcc9e15d102aa968.gph bitreich.org 70 1parent 62713aaf65264950aecad9237d50e911d7dad893 /scm/gramscii/commit/62713aaf65264950aecad9237d50e911d7dad893.gph bitreich.org 70 hAuthor: KatolaZ URL:mailto:katolaz@freaknet.org bitreich.org 70 iDate: Thu, 1 Aug 2019 16:42:36 +0100 Err bitreich.org 70 i Err bitreich.org 70 iremove trailing blank lines in write_file - change check_bound Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M draw.c | 33 ++++++++++++++++--------------- Err bitreich.org 70 i M files.c | 14 +++++++++++--- Err bitreich.org 70 i M gramscii.h | 6 ++++-- Err bitreich.org 70 i M lineset.c | 9 +++++++-- Err bitreich.org 70 i M main.c | 2 +- Err bitreich.org 70 i M screen.c | 14 +++++++------- Err bitreich.org 70 i Err bitreich.org 70 i6 files changed, 47 insertions(+), 31 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@@ -94,7 +94,7 @@ void get_text(FILE *fc){ Err bitreich.org 70 i if (x >= WIDTH) Err bitreich.org 70 i x = orig_x; Err bitreich.org 70 i } Err bitreich.org 70 i- check_bound(); Err bitreich.org 70 i+ check_bound(&x, &y); Err bitreich.org 70 i status_bar(); Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i@@ -150,7 +150,7 @@ void get_box(FILE *fc){ Err bitreich.org 70 i goto update_box; Err bitreich.org 70 i if (!move_around(c, fc)) Err bitreich.org 70 i continue; Err bitreich.org 70 i- check_bound(); Err bitreich.org 70 i+ check_bound(&x, &y); Err bitreich.org 70 i redraw(); Err bitreich.org 70 i step = 1; Err bitreich.org 70 i update_box: Err bitreich.org 70 i@@ -166,19 +166,19 @@ update_box: Err bitreich.org 70 i mode = MOVE; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-void draw_arrow(int x, int y, char *a, int a_len, int fix){ Err bitreich.org 70 i+void draw_arrow(int xl, int yl, char *a, int a_len, int fix){ Err bitreich.org 70 i Err bitreich.org 70 i int i, j, cur_dir; Err bitreich.org 70 i char line; Err bitreich.org 70 i void (*f)(int, int, char); Err bitreich.org 70 i Err bitreich.org 70 i- a_miny = a_maxy = y; Err bitreich.org 70 i+ a_miny = a_maxy = yl; Err bitreich.org 70 i if (fix == FIX) Err bitreich.org 70 i f = set_xy; Err bitreich.org 70 i else Err bitreich.org 70 i f = draw_xy; Err bitreich.org 70 i Err bitreich.org 70 i- f(x,y,mark_st); Err bitreich.org 70 i+ f(xl, yl, mark_st); Err bitreich.org 70 i if (!a_len){ Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i return; Err bitreich.org 70 i@@ -189,27 +189,28 @@ void draw_arrow(int x, int y, char *a, int a_len, int fix){ Err bitreich.org 70 i /* If we are switching between horizontal and vertical, put a "corner" */ Err bitreich.org 70 i if (((cur_dir & DIR_HOR) && (a[i] & DIR_VER)) || Err bitreich.org 70 i ((cur_dir & DIR_VER) && (a[i] & DIR_HOR))){ Err bitreich.org 70 i- f(x,y,corner); Err bitreich.org 70 i+ f(xl, yl, corner); Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i for(j=0; j a_maxy) a_maxy = y; Err bitreich.org 70 i- f(x, y, line); Err bitreich.org 70 i+ xl += progr_x(a[i]); Err bitreich.org 70 i+ yl += progr_y(a[i]); Err bitreich.org 70 i+ check_bound(&xl, &yl); Err bitreich.org 70 i+ if (yl < a_miny) a_miny = yl; Err bitreich.org 70 i+ if (yl > a_maxy) a_maxy = yl; Err bitreich.org 70 i+ f(xl, yl, line); Err bitreich.org 70 i } Err bitreich.org 70 i /* f(x,y,mark_end);*/ Err bitreich.org 70 i cur_dir = a[i]; Err bitreich.org 70 i } Err bitreich.org 70 i if (autoend){ Err bitreich.org 70 i if (cur_dir != DIR_N) Err bitreich.org 70 i- f(x,y, get_mark(cur_dir)); Err bitreich.org 70 i+ f(xl,yl, get_mark(cur_dir)); Err bitreich.org 70 i } Err bitreich.org 70 i else Err bitreich.org 70 i- f(x,y,mark_end); Err bitreich.org 70 i+ f(xl,yl,mark_end); Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -235,7 +236,7 @@ void get_arrow(FILE *fc){ Err bitreich.org 70 i goto update_arrow; Err bitreich.org 70 i if (!move_around(c, fc)) Err bitreich.org 70 i continue; Err bitreich.org 70 i- check_bound(); Err bitreich.org 70 i+ check_bound(&x, &y); 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@@ -289,7 +290,7 @@ void erase(FILE *fc){ Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i while((c=fgetc(fc))!=EOF && c!=27 && c!= 'x' && c != '\n'){ Err bitreich.org 70 i if (!move_around(c, fc)) continue; Err bitreich.org 70 i- check_bound(); Err bitreich.org 70 i+ check_bound(&x, &y); Err bitreich.org 70 i if (first || Err bitreich.org 70 i (y != orig_y && ! opened) || Err bitreich.org 70 i (y == orig_y && x != orig_x && !opened) ){ Err bitreich.org 70 i@@ -354,7 +355,7 @@ void visual_box(FILE *fc){ Err bitreich.org 70 i goto vis_exit; Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i- check_bound(); Err bitreich.org 70 i+ check_bound(&x, &y); Err bitreich.org 70 i set_video(VIDEO_NRM); Err bitreich.org 70 i redraw(); Err bitreich.org 70 i step = 1; Err bitreich.org 70 1diff --git a/files.c b/files.c /scm/gramscii/file/files.c.gph bitreich.org 70 i@@ -7,7 +7,7 @@ Err bitreich.org 70 i Err bitreich.org 70 i void write_file(FILE *fc){ Err bitreich.org 70 i FILE *fout; Err bitreich.org 70 i- int i; Err bitreich.org 70 i+ int i, ne; Err bitreich.org 70 i Err bitreich.org 70 i if (!fname[0] || force_new){ Err bitreich.org 70 i get_string(fc, "Write to: ", fname, 255); Err bitreich.org 70 i@@ -23,8 +23,16 @@ void write_file(FILE *fc){ Err bitreich.org 70 i get_key(fc, "Error opening file."); Err bitreich.org 70 i return; Err bitreich.org 70 i } Err bitreich.org 70 i+ ne = 0; Err bitreich.org 70 i for (i=0; i= undo_sz - 1){ Err bitreich.org 70 i- undo_sz += 10; Err bitreich.org 70 i- tmp = realloc(undo, undo_sz * sizeof(lineset_t)); 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 exit(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 i+ undo[undo_sz + i].sz = 0; Err bitreich.org 70 i+ undo[undo_sz + i].l = NULL; Err bitreich.org 70 i+ undo[undo_sz + i].num = 0; Err bitreich.org 70 i+ } Err bitreich.org 70 i+ undo_sz += 10; Err bitreich.org 70 i } Err bitreich.org 70 i ensure_num_lines(&(undo[idx]), y2 - y1 + 1); Err bitreich.org 70 i for(i=y1; i<=y2; i++){ Err bitreich.org 70 1diff --git a/main.c b/main.c /scm/gramscii/file/main.c.gph bitreich.org 70 i@@ -135,7 +135,7 @@ void commands(FILE *fc){ Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i- check_bound(); Err bitreich.org 70 i+ check_bound(&x, &y); Err bitreich.org 70 i status_bar(); Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i step = 1; Err bitreich.org 70 1diff --git a/screen.c b/screen.c /scm/gramscii/file/screen.c.gph bitreich.org 70 i@@ -196,11 +196,11 @@ void erase_screen(){ Err bitreich.org 70 i erase_line(i); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-void check_bound(){ Err bitreich.org 70 i- if (x<0) x=0; Err bitreich.org 70 i- else if (x>=WIDTH) x = WIDTH-1; Err bitreich.org 70 i- if (y<0) y=0; Err bitreich.org 70 i- else if (y>=HEIGHT) y = HEIGHT -1; Err bitreich.org 70 i+void check_bound(int *x, int *y){ Err bitreich.org 70 i+ if (*x<0) *x=0; Err bitreich.org 70 i+ else if (*x>=WIDTH) *x = WIDTH-1; Err bitreich.org 70 i+ if (*y<0) *y=0; Err bitreich.org 70 i+ else if (*y>=HEIGHT) *y = HEIGHT -1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i void reset_styles(){ Err bitreich.org 70 i@@ -242,7 +242,7 @@ void go_to(int where){ Err bitreich.org 70 i y = HEIGHT/2; Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i- check_bound(); Err bitreich.org 70 i+ check_bound(&x, &y); Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -279,7 +279,7 @@ void handle_goto(){ Err bitreich.org 70 i go_to(MIDDLE); Err bitreich.org 70 i break; Err bitreich.org 70 i } Err bitreich.org 70 i- check_bound(); Err bitreich.org 70 i+ check_bound(&x, &y); Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 .