summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-09-19 13:44:39 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2009-09-19 13:44:39 +0800
commita13516b0a31f5f74264d0a7ad2d02165ec2d28f5 (patch)
treec5a77de722282a1c4b5aae4e3845c993bed673e9
parent6500e334121ba70c24e72becab89223628c593bf (diff)
downloadpttbbs-a13516b0a31f5f74264d0a7ad2d02165ec2d28f5.tar
pttbbs-a13516b0a31f5f74264d0a7ad2d02165ec2d28f5.tar.gz
pttbbs-a13516b0a31f5f74264d0a7ad2d02165ec2d28f5.tar.bz2
pttbbs-a13516b0a31f5f74264d0a7ad2d02165ec2d28f5.tar.lz
pttbbs-a13516b0a31f5f74264d0a7ad2d02165ec2d28f5.tar.xz
pttbbs-a13516b0a31f5f74264d0a7ad2d02165ec2d28f5.tar.zst
pttbbs-a13516b0a31f5f74264d0a7ad2d02165ec2d28f5.zip
* fix ordersong directory detection
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@4858 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/common/bbs/cache.c16
-rw-r--r--pttbbs/util/account.c2
2 files changed, 13 insertions, 5 deletions
diff --git a/pttbbs/common/bbs/cache.c b/pttbbs/common/bbs/cache.c
index cd2b4a4a..7160cdbe 100644
--- a/pttbbs/common/bbs/cache.c
+++ b/pttbbs/common/bbs/cache.c
@@ -723,20 +723,25 @@ reload_pttcache(void)
id = aggid = rawid = 0; // effective count, aggressive count, total (raw) count
if ((fp = fopen(buf, "r"))) {
+
// .DIR loop
while (fread(&item, sizeof(item), 1, fp)) {
int chkagg = 0; // should we check aggressive?
+ int is_ordersong_dir = 0;
if (item.title[3] != '<' || item.title[8] != '>')
continue;
+#define ORDERSONG_FOLDERNAME "<點歌>"
+ if (strncmp(item.title+3, ORDERSONG_FOLDERNAME, strlen(ORDERSONG_FOLDERNAME)) == 0)
+ is_ordersong_dir = 1;
+
#ifdef BN_NOTE_AGGCHKDIR
// TODO aggressive: only count '<點歌>' section
- if (strcmp(item.title+3, BN_NOTE_AGGCHKDIR) == 0)
+ if (strncmp(item.title+3, BN_NOTE_AGGCHKDIR, strlen(BN_NOTE_AGGCHKDIR)) == 0)
chkagg = 1;
#endif
-
snprintf(buf, sizeof(buf), "%s/%s/" FN_DIR,
pbuf, item.filename);
@@ -786,14 +791,15 @@ reload_pttcache(void)
} // end of file loop
fclose(fp1);
+ if (is_ordersong_dir)
+ SHM->last_usong = id - 1;
+
if (id >= MAX_ADBANNER)
break;
+
} // end of .DIR loop
fclose(fp);
- if (strcmp(item.title+3, "點歌") == 0)
- SHM->last_usong = id - 1;
-
// decide next aggressive state
if (rawid && aggid*3 >= rawid) // if aggressive exceed 1/3
set_aggressive_state(1);
diff --git a/pttbbs/util/account.c b/pttbbs/util/account.c
index 19913589..587ae284 100644
--- a/pttbbs/util/account.c
+++ b/pttbbs/util/account.c
@@ -398,6 +398,8 @@ main(int argc, char **argv)
SHM->Puptime = 0;
resolve_fcache();
reset_garbage();
+ printf("動態看板資訊: last_usong=%d, last_film=%d\n",
+ SHM->last_usong, SHM->last_film);
printf("計算進站畫面數: ");
for (i = 0; i < 5; ++i) {