summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-11-02 00:45:23 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2010-11-02 00:45:23 +0800
commitc90707b80b1e3b6ef49a2ff5da85de00b09b0b20 (patch)
tree24c1bd6ef83d3cf04c6ccd978cf3d90201de6d3e
parent16c9643c4b601fc0d5e64e47c2723a8dfa48ad42 (diff)
downloadpttbbs-c90707b80b1e3b6ef49a2ff5da85de00b09b0b20.tar
pttbbs-c90707b80b1e3b6ef49a2ff5da85de00b09b0b20.tar.gz
pttbbs-c90707b80b1e3b6ef49a2ff5da85de00b09b0b20.tar.bz2
pttbbs-c90707b80b1e3b6ef49a2ff5da85de00b09b0b20.tar.lz
pttbbs-c90707b80b1e3b6ef49a2ff5da85de00b09b0b20.tar.xz
pttbbs-c90707b80b1e3b6ef49a2ff5da85de00b09b0b20.tar.zst
pttbbs-c90707b80b1e3b6ef49a2ff5da85de00b09b0b20.zip
solve redundant edit tags
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5200 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/bbs.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/pttbbs/mbbsd/bbs.c b/pttbbs/mbbsd/bbs.c
index 9af435c6..2b1f07ab 100644
--- a/pttbbs/mbbsd/bbs.c
+++ b/pttbbs/mbbsd/bbs.c
@@ -1643,14 +1643,18 @@ append_merge_replace(const char *ref_fn, const char *mod_fn, size_t sz_orig) {
int
edit_post(int ent, fileheader_t * fhdr, const char *direct)
{
- char fpath[80];
- char genbuf[200];
+ char fpath[PATHLEN];
+ char genbuf[PATHLEN];
fileheader_t postfile;
boardheader_t *bp = getbcache(currbid);
off_t oldsz;
int edflags = 0, is_race_condition = 0;
char save_title[STRLEN];
- save_title[0] = '\0';
+
+#ifdef USE_TIME_CAPSULE
+ int rev = 0;
+ time4_t oldmt = 0;
+#endif
#ifdef EDITPOST_SMARTMERGE
unsigned char oldsum[SMHASHLEN] = {0}, newsum[SMHASHLEN] = {0};
@@ -1661,6 +1665,7 @@ edit_post(int ent, fileheader_t * fhdr, const char *direct)
edflags |= EXP_EDITPOST_TEXTONLY;
#endif
+ save_title[0] = '\0';
assert(0<=currbid-1 && currbid-1<MAX_BOARD && bp);
// special modes (plus MODE_DIGEST?)
@@ -1771,16 +1776,8 @@ edit_post(int ent, fileheader_t * fhdr, const char *direct)
// OK to save file.
#ifdef USE_TIME_CAPSULE
- {
- char revfn[PATHLEN];
- time4_t oldmt = dasht(genbuf);
- int rev = timecapsule_add_revision(genbuf);
- if (oldmt > 0) {
- timecapsule_get_by_revision(genbuf, rev, revfn, sizeof(revfn));
- log_filef(revfn, LOG_CREAT, "\n¡° Last modified: %s",
- Cdatelite(&oldmt));
- }
- }
+ oldmt = dasht(genbuf);
+ rev = timecapsule_add_revision(genbuf);
#endif
#ifdef EDITPOST_SMARTMERGE
@@ -1806,6 +1803,15 @@ edit_post(int ent, fileheader_t * fhdr, const char *direct)
// mark my self as "read this file".
brc_addlist(fhdr->filename, fhdr->modified);
+ // tag revision history file to solve expire issue
+#ifdef USE_TIME_CAPSULE
+ if (rev > 0) {
+ char revfn[PATHLEN];
+ timecapsule_get_by_revision(genbuf, rev, revfn, sizeof(revfn));
+ log_filef(revfn, 0, "\n¡° Last modified: %s", Cdatelite(&oldmt));
+ }
+#endif
+
return FULLUPDATE;
}