ifix bug in screen init - 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 a64ca9d14f8c197398badad39148b794757742b2 /scm/gramscii/commit/a64ca9d14f8c197398badad39148b794757742b2.gph bitreich.org 70 1parent c9a6b0faecb76984eb51754f6d188a87be025e8f /scm/gramscii/commit/c9a6b0faecb76984eb51754f6d188a87be025e8f.gph bitreich.org 70 hAuthor: KatolaZ URL:mailto:katolaz@freaknet.org bitreich.org 70 iDate: Mon, 22 Jul 2019 18:14:51 +0100 Err bitreich.org 70 i Err bitreich.org 70 ifix bug in screen init Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M gramscii.c | 34 ++++++++++++++++++++----------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 22 insertions(+), 12 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/gramscii.c b/gramscii.c /scm/gramscii/file/gramscii.c.gph bitreich.org 70 i@@ -51,6 +51,8 @@ Err bitreich.org 70 i #define MIN(x,y) (x) < (y) ? (x) : (y) Err bitreich.org 70 i #define MAX(x,y) (x) > (y) ? (x) : (y) Err bitreich.org 70 i Err bitreich.org 70 i+#define DEBUG 1 Err bitreich.org 70 i+ Err bitreich.org 70 i char **screen; Err bitreich.org 70 i int WIDTH, HEIGHT; Err bitreich.org 70 i Err bitreich.org 70 i@@ -129,6 +131,9 @@ void status_bar(){ Err bitreich.org 70 i printf(" [%s]", fname ); Err bitreich.org 70 i else Err bitreich.org 70 i printf(" *%s*", fname ); Err bitreich.org 70 i+#ifdef DEBUG Err bitreich.org 70 i+ printf(" '%d' ", screen[y][x]); Err bitreich.org 70 i+#endif Err bitreich.org 70 i printf("\033[0m"); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -168,7 +173,7 @@ void show_cursor(){ Err bitreich.org 70 i printf("\033[%d;%df", y+1, x+1); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-void set(char c){ Err bitreich.org 70 i+void set_cur(char c){ Err bitreich.org 70 i screen[y][x] = c; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -190,7 +195,8 @@ void update_current(){ Err bitreich.org 70 i Err bitreich.org 70 i void erase_line(char *s){ Err bitreich.org 70 i while(*s){ Err bitreich.org 70 i- *s++ = BG; Err bitreich.org 70 i+ *s = BG; Err bitreich.org 70 i+ s++; Err bitreich.org 70 i } Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i@@ -214,7 +220,6 @@ void erase_screen(){ Err bitreich.org 70 i erase_line(screen[i]); Err bitreich.org 70 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@@ -232,10 +237,8 @@ void reset_styles(){ Err bitreich.org 70 i line_v = vlines[cur_vl]; Err bitreich.org 70 i mark_st = st_marks[cur_start]; Err bitreich.org 70 i mark_end = end_marks[cur_end]; Err bitreich.org 70 i- Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- Err bitreich.org 70 i void redraw(){ Err bitreich.org 70 i int i; Err bitreich.org 70 i Err bitreich.org 70 i@@ -302,7 +305,6 @@ void handle_goto(){ Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- Err bitreich.org 70 i int move_around(char c){ Err bitreich.org 70 i Err bitreich.org 70 i switch(c){ Err bitreich.org 70 i@@ -421,12 +423,12 @@ void get_text(){ Err bitreich.org 70 i redraw(); Err bitreich.org 70 i while((c=getchar())!=EOF && c != 27){ Err bitreich.org 70 i if(c=='\n'){ Err bitreich.org 70 i- set(BG); Err bitreich.org 70 i+ set_cur(BG); Err bitreich.org 70 i y += 1; Err bitreich.org 70 i x = orig_x; Err bitreich.org 70 i } Err bitreich.org 70 i else { Err bitreich.org 70 i- set(c); Err bitreich.org 70 i+ set_cur(c); Err bitreich.org 70 i update_current(); Err bitreich.org 70 i modified = 1; Err bitreich.org 70 i x += 1; Err bitreich.org 70 i@@ -735,18 +737,26 @@ void init_screen(){ Err bitreich.org 70 i struct winsize wsz; Err bitreich.org 70 i Err bitreich.org 70 i if (!ioctl(STDIN_FILENO, TIOCGWINSZ, &wsz)){ Err bitreich.org 70 i- WIDTH=wsz.ws_col; Err bitreich.org 70 i+ WIDTH=wsz.ws_col - 2; Err bitreich.org 70 i HEIGHT=wsz.ws_row - 1; Err bitreich.org 70 i } Err bitreich.org 70 i else { Err bitreich.org 70 i- WIDTH=8; Err bitreich.org 70 i+ WIDTH=80; Err bitreich.org 70 i HEIGHT=24; Err bitreich.org 70 i } Err bitreich.org 70 i screen = malloc(HEIGHT * sizeof(char *)); Err bitreich.org 70 i+ if (screen == NULL){ Err bitreich.org 70 i+ perror("allocating screen"); Err bitreich.org 70 i+ exit(1); Err bitreich.org 70 i+ } Err bitreich.org 70 i for (i=0; i