diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2014-03-28 12:54:09 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2014-03-28 12:54:09 +0800 |
commit | 2cb41e7dbd315d5c8fa5b3878058955100007135 (patch) | |
tree | 34213bbdbcb33d22c3bade4479a2c7403aab197b | |
parent | ecaeb6148636d5641ad32e4908629764dd013db7 (diff) | |
download | pttbbs-2cb41e7dbd315d5c8fa5b3878058955100007135.tar pttbbs-2cb41e7dbd315d5c8fa5b3878058955100007135.tar.gz pttbbs-2cb41e7dbd315d5c8fa5b3878058955100007135.tar.bz2 pttbbs-2cb41e7dbd315d5c8fa5b3878058955100007135.tar.lz pttbbs-2cb41e7dbd315d5c8fa5b3878058955100007135.tar.xz pttbbs-2cb41e7dbd315d5c8fa5b3878058955100007135.tar.zst pttbbs-2cb41e7dbd315d5c8fa5b3878058955100007135.zip |
Try harder to prevent file lost.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5978 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/mbbsd/edit.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/pttbbs/mbbsd/edit.c b/pttbbs/mbbsd/edit.c index 2d91fd28..e4ccecce 100644 --- a/pttbbs/mbbsd/edit.c +++ b/pttbbs/mbbsd/edit.c @@ -1379,18 +1379,30 @@ auto_backup(void) void restore_backup(void) { - char bakfile[80], buf[80]; + char bakfile[80], buf[80], ans[3]; setuserfile(bakfile, fp_bak); - if (dashf(bakfile)) { + while (dashf(bakfile)) { vs_hdr("編輯器自動復原"); + mvouts(3, 0, "== 以下為未完成的文章部份內容 ==\n"); + show_file(bakfile, 4, 15, SHOWFILE_ALLOW_NONE); getdata(1, 0, "您有一篇文章尚未完成,(S)寫入暫存檔 (Q)算了?[S] ", buf, 4, LCECHO); - if (buf[0] != 'q') { - setuserfile(buf, ask_tmpbuf(3)); - Rename(bakfile, buf); - } else - unlink(bakfile); + if (*buf == 'q') { + unlink(bakfile); + break; + } + setuserfile(buf, ask_tmpbuf(2)); + if (dashs(buf) > 0) { + vs_hdr("暫存檔已有內容"); + mvouts(2, 0, "== 以下為暫存檔部份內容 ==\n"); + show_file(bakfile, 3, 18, SHOWFILE_ALLOW_NONE); + getdata(1, 0, "選定暫存檔已有下列內容,確定要覆蓋\掉它? [y/N] ", + ans, sizeof(ans), LCECHO); + if (*ans != 'y') + continue; + } + Rename(bakfile, buf); } } |