diff options
author | scw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-08-17 13:28:53 +0800 |
---|---|---|
committer | scw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2005-08-17 13:28:53 +0800 |
commit | 7c7adbd6aefd1498cd84ee947c52269ce099d347 (patch) | |
tree | 0cf6027e7edf5f7137d519a34769411115e46251 /mbbsd/chat.c | |
parent | 1598828725cc3a14f4e9a1a18b4212ad808a3516 (diff) | |
download | pttbbs-7c7adbd6aefd1498cd84ee947c52269ce099d347.tar pttbbs-7c7adbd6aefd1498cd84ee947c52269ce099d347.tar.gz pttbbs-7c7adbd6aefd1498cd84ee947c52269ce099d347.tar.bz2 pttbbs-7c7adbd6aefd1498cd84ee947c52269ce099d347.tar.lz pttbbs-7c7adbd6aefd1498cd84ee947c52269ce099d347.tar.xz pttbbs-7c7adbd6aefd1498cd84ee947c52269ce099d347.tar.zst pttbbs-7c7adbd6aefd1498cd84ee947c52269ce099d347.zip |
screen_backup() & screen_restore() update:
* automatic allocate memory, save cursor location and backup
* automatic restore screen, cursor location and free memory
* works on screen lessening
* no more crash on screen enlarged
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@3051 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/chat.c')
-rw-r--r-- | mbbsd/chat.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/mbbsd/chat.c b/mbbsd/chat.c index 0caa88f5..bd0a381e 100644 --- a/mbbsd/chat.c +++ b/mbbsd/chat.c @@ -529,13 +529,10 @@ t_chat(void) } else if (ch == Ctrl('I')) { screen_backup_t old_screen; - old_screen.raw_memory = malloc(screen_backupsize(t_lines, big_picture)); - screen_backup(t_lines, big_picture, &old_screen); + screen_backup(&old_screen); add_io(0, 0); t_idle(); - screen_restore(t_lines, big_picture, &old_screen); - free(old_screen.raw_memory); - redoscr(); + screen_restore(&old_screen); add_io(cfd, 0); } else if (ch == Ctrl('Q')) { print_chatid(chatid); |