運用方針
2005/08/26/移行作業その2の変更によって、 Sageなどを使っていると、しょっちゅうページを改変することで、 RSSの本文がdiffだらけになってしまうので、 ネタを書くのは1回きりにしておいて、変更点は[ノート]に追記するようにしよう。
2005/08/26/移行作業その2の変更によって、 Sageなどを使っていると、しょっちゅうページを改変することで、 RSSの本文がdiffだらけになってしまうので、 ネタを書くのは1回きりにしておいて、変更点は[ノート]に追記するようにしよう。
RSSの<content:encoded>をdiffにするか全文にするのか、
悩んだあげく、選択できるようにした(wiliki-rss.scm.diff
)。
ただし、wiliki.scmの<wiliki>のスロットに
;; RSS content output is ALL, not diff
(rss-content-all :accessor rss-content-all-of :init-keyword :rss-content-all
:init-value #f)
を追加しなければ動作しない。
こちらのひとり遊びページは:rss-content-all #tで。 HSPWiKiは#fで運用してみることにしよう。
とりあえずWiLiKiのRSS出力まわりをイジイジ。
rss.scmの出力は貧弱すぎるので、強化(wiliki-rss.scm.diff
)。
変更点は3点。
<content:encoded>は変更点の前後も出力したほうがいいのかなあ。ちょっと面倒そうだ。
とりあえずW3CのRDF Validator
もパスしてるみたいだし、
これ以上深追いはしないでおこう。
次はCSSでも書き直しますかね。
結構嫌う人も多いらしいです。なんででしょうね。
ちょっと凝ったことをするときは、OpenBSD-man:snprintfの方がいろいろ楽かもしれません。 といっても、こちらは返り値が0以下を返すこともあるので、 このときの処理を忘れたらいけないのが少しだけ面倒です。
strlcpy,strlcatはANSIでもPOSIXでもありませんが(OpenBSD-man:strlcpyのHISTORY参照)、 *BSDに入っているTodd氏の実装はANSIで書かれたISC BSD Licenseなコードなので、 勝手に組み込まれて困る人は少ないでしょう。 autoconfでチェックして、無いなら自前のコピーをぶち込むのが常套手段です。 OpenBSDの版のコードの最終更新もすでに2年前ですし、 安定しているといっていいと思います(OpenBSD-cvs:src/lib/libc/string/strlcpy.c)。
ASFRecorder
のコードをちょっとだけ読んだのですが、尋常じゃないコードでした。やばい。
こんなの。
int main_function(int argc, char **argv)
{
...
unsigned char Buffer[MAX_CHUNK_SIZE];
...
char *bufptr;
...
bufptr = Buffer;
bufptr+=sprintf(bufptr,"GET %s HTTP/1.0\r\n", proxy == NULL ? file:full_path);
...
bufptr+=sprintf(bufptr,"Accept: */*\r\n");
bufptr+=sprintf(...);
bufptr+=sprintf(...);
bufptr+=...
...
何が起こるのか想像が付かない。やばすぎる。
他にもツッコミどころ満載。
1関数あたりの行数が異様に長いところとか、
ちょっとやそっとでは修正不可能なくらいグチャグチャです。
作者はどうやってC言語を学んだのでしょうか。
とても興味深いですね(棒読み)。
strcat(strcat(strcpy(x, y), z), w);こういうコードなんか見つけるとlispかよ! と、いつも心のなかでツッコミをいれてしまうのですが。