作者jai166 (荣耀 尊绝 不凡 台科)
看板SetupBBS
标题Re: [问题] 编辑功能
时间Wed Sep 24 03:26:50 2008
现在回这篇,似乎太慢了XD
想问大家几个问题
1. 请问使用这一堆link 会不会产生很多的垃圾档案呢?
即使档案占的空间还是那一块 但档案配置表会比较浪费一些吧!?
若是这样 浪费的空间会不会很可观?
2. 还有为什麽 WDBBS 及 itoc 板的都是使用 hard link 达成连结的效果?
为何不采用 symbolic link 来达成呢? 两者的优缺点为何可以麻烦大大解释吗?
另一方面 本站目前想增加这两个功能
a. 匿名文章查使用者代码的方法
b. 类似PTT的 "~" "+" 推文标示功能
但是目前本站的 fileheader 长度不足(如下所示)
╭───────────────────────────────────╮
│ struct fileheader
│
│ {
│
│ char filename[FNLEN - 1]; /* M.9876543210.A */
│
│ char recommend; /* 推文纪录 */
│
│ char savemode; /* file save mode */
│
│ char owner[IDLEN + 2]; /* uid[.] */
│
│ char date[6]; /* [02/02] or space(5) */
│
│ char title[TTLEN + 1];
│
│ uschar filemode; /* must be last field @ boards.c */
│
│ };
│
╰───────────────────────────────────╯
还有目前本站在修改文章时不会更动档名,档名是固定的
关於 a. 目前想到的处理方式
1) 取消掉匿名板自订名称的功能,用 owner 来放 uid
2) 开一个新档案,记录各 M.9876543210.A 所对应到的 uid 及其他欲新增的功能
3) 更动 fileheader 的结构(目前想到可能要更动的 .DIR 有看板 信箱)
关於 b. 目前想到的处理方式
1) char date[] 拿来放:
改成几个 time_t 不过一般电脑 time_t 是 4 Byte,似乎只能放一个
再者可能须修改相当多的函式(目前只想到文章列表呈现这部分而已)
配合之前修掉stamp的bug,日後日期就用 filename 来产生*
而推文标示函式就检查这里(同 PTT 的 modified )
不过 *的部分 不知道会给效能带来多大的影响
2) 同 a. 2) 开一个新档案,记录
3) 同 a. 3) 更动 fileheader 的结构
所以...
3. 想问大家对於这几种方式的看法如何?或是有更好的方法?
※ 引述《[email protected] (最爱笨小史的分子)》之铭言:
: ※ 引述《[email protected] (荣耀 尊绝 不凡 台科)》之铭言:
: > 我是热带鱼天堂(tropic.med.kmu.edu.tw)的站长群之一jai166
: > 敝站BBS是使用 WDBBS v1.34r
: > 之後程式码已经由历届站长大幅更新过了
: > 有些功能和原始WDBBS有蛮大的差异
: > 我想问一下 在使用 edit_post() 後
: > 程式会用stampfile产生一个新档案 之後再unlink掉原来的文章
: 有个方法
: 把旧档作成新档的link
: 可以顺便解决石头文的问题
: > 为什麽要这麽做呢?
: > 最近敝站参考了 hrs113355 前辈所分享的置底文程式码
: > ( http://hrs.ckeisc.org/blog/post/121 ,谢谢hrs113355的分享)
: > 由於 link() 一直出问题,之後便直接把 mhdr 的 filename 指向原档案
: 这样会出问题
是的,到暑假才发现在修文後不会有标示...
: > 不使用 stampfile 和 link 了,但又产生新的问题(编辑文章後会变石头)
: > 目前想到的解法是 stampfile 後,将新档案更名旧档案的名称
: > 同时将 fhdr 的 filename 指向旧档名
: > 所以想问问 edit_post() 的原理
: > 谢谢各位大大
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.252.41.23
※ 编辑: jai166 来自: 123.252.41.23 (09/24 03:27)