diff options
author | ache <ache@FreeBSD.org> | 1995-02-23 22:36:56 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1995-02-23 22:36:56 +0000 |
commit | e062767a522d941f0c5c2e0e4f60087cf9247105 (patch) | |
tree | c6725ce63fd4e727d857231f2cd03d2561d7be89 /gnu/lib/libdialog/notify.c | |
parent | 7f1876afbb91cad4d594995573123bfa1ef83b2f (diff) | |
download | FreeBSD-src-e062767a522d941f0c5c2e0e4f60087cf9247105.zip FreeBSD-src-e062767a522d941f0c5c2e0e4f60087cf9247105.tar.gz |
Simplify notify()
Fix dupwin usage, now it really restore screen
Disable helpline while helpfile displayed
Fix helpfile borders
Fix mesgbox range computing
Diffstat (limited to 'gnu/lib/libdialog/notify.c')
-rw-r--r-- | gnu/lib/libdialog/notify.c | 32 |
1 files changed, 7 insertions, 25 deletions
diff --git a/gnu/lib/libdialog/notify.c b/gnu/lib/libdialog/notify.c index 27d1cc0..9605168 100644 --- a/gnu/lib/libdialog/notify.c +++ b/gnu/lib/libdialog/notify.c @@ -27,34 +27,16 @@ dialog_notify(char *msg) * Desc: display an error message */ { - int li, co, mco; - char *p; WINDOW *w; - /* determine # of lines in msg and max colwidth */ - li = 0; - co = 0; - mco = 0; - p = msg; - while (*p) { - if (*p == '\n') { - li++; - if (co > mco) mco = co; - co = 0; - } - p++; - co++; + w = dupwin(newscr); + if (w == NULL) { + endwin(); + fprintf(stderr, "\ndupwin(newscr) failed, malloc memory corrupted\n"); + exit(1); } - if (co < mco) co = mco; - - li += 5; - if (li > LINES) li = LINES; - co += 4; - if (co < 20) co = 20; - if (co > COLS) co = COLS; - - w = dupwin(curscr); - dialog_msgbox("Message", msg, li, co, TRUE); + dialog_msgbox("Message", msg, -1, -1, TRUE); + touchwin(w); wrefresh(w); delwin(w); |