銀河の歴史がまた1ページ(日記)

Last Update (2015/01/01 00:00:00)
1997.09.06から数えて counter 番目のアクセスです。

ミラーサイト [www.ceres.dti.ne.jp] [yk.rim.or.jp]

[ホームページ] [日記] [読んでいる日記] [秋葉原価格] [FreeBSD] [FreeBSD LINK] [検索] [高速検索]

■ 宇宙歴 1998.07.16

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980716

[01] リンクのお礼メール
フレッシュアイホームページにリンクしたら、リンクお礼メールが来た。 Refererでもチェックしたんだろうか? (..)?
マメだな〜と感心した次第。


■ 宇宙歴 1998.07.17

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980717

[01] version control on XEmacs
XEmacs 20.4からversion control systemマクロを利用していると、vc-next-actionまたはvc-toggle-read-onlyでロックを解除した際に、カーソル位置がファイルの先頭に戻るのが気になる。 mule-2.3(19.28ベース)の場合は、カーソル位置がちゃんと保存されているのに。 これは謎パッチを作らないといけないかな。


■ 宇宙歴 1998.07.18

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980718

[01] メモメモ
Celeron-266-SL2QG(?)で400(?)とか448(!?)が人気なんだって。 メモのためリンクCeleron World

[02] しげんとこ
しげのとこに来て、スーパードクターK 44 + ドクターK 6 を完全制覇してる途中だったりして。 安楽亭であんなに食べたのは久しぶり〜。 (^^)


■ 宇宙歴 1998.07.19

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980719

[01] はうはう
スーパードクターK読破の続き。 44巻読破って結構大変だわ。


■ 宇宙歴 1998.07.20

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980720

[01] ぐるぐる
ぽめれちょー (*^^*)
ところで、ぽっかいどーにはクマが出るので注意らしいぞー。


■ 宇宙歴 1998.07.21

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980721

[01] x-tt with Accel-X
x-tt with Accel-Xネタを発見。 あとで試してみよう。 メモメモ。

[02] はう
かなり化石風味ですが 訂正 されてますね〜。 (^^;)

[03] トライガン
脳内BGMがトライガンのオープニングになってしまっている今日この頃。 トライガンの原作1、2巻をゲット。 原作の方は3話(しかも3話目は途中)しか無いのか〜。 ということは、TV版を作っている人達ががんばって話を作っているのね。 ちょっと謎が補完されたのでよかよか。 (^^)


■ 宇宙歴 1998.07.22

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980722

[01] wwwoffle
この前拾っておいたwwwoffleをインストール。 を。 online状態、offline状態への変化を明示的に指定するのね。 自動fetchもあるのか〜。 こりゃいいわ。 (^^)
早速squidをpkg_deleteしてwwwoffleの利用を開始。 現在最適な設定を調査中。

とりあえずwwwoffleの利用方法のメモ。

wwwoffle -online
ダイアルアップしてオンラインになった時、オンラインである事をwwwoffledに知らせる。 これ以後、wwwoffledは外部のWWWサーバにアクセスし、受け取ったデータをHDDに溜め込みまくり。
wwwoffle -offline
オフラインになった事をwwwoffledに知らせる。 以後、wwwoffledはブラウザからの要求をオフラインで処理しようとする。 HDDキャッシュ内にデータがある場合は、キャッシュデータをブラウザに返し、無い場合はfetch listにURLを記録する。
wwwoffle -fetch
fetch listに溜っている「取得するべきURL」をがんがん取得しまくり。
wwwoffle filename
HTMLファイルを引数に指定すると、HTMLファイル内部にリンクされているURLを取得するべく活動する。 この時オンライン状態だった場合は、即座に取得しに行く。 オフライン状態の場合はfetch listに記録しておく。

他にも、指定したURL内部からたどれるリンクを再帰的にゲットしたりもできる。 その際、同じサーバ上にあるリンクだけを再帰的にゲットするなどの指定も可能。 なんて便利なんだっ!!!! (^^)

[02] MLの抜け方
某MLにて、「MLの抜け方」ってなタイトルでコメントツリーがぼこぼこ作成されていたりして(笑)。 書いている内容は正しいことなんだけどねぇ。 書き方がアレなんだよねぇ。 さてさて。

[03] 萌えキャラ
ゆきずりの日記を巡回中、1997年萌えキャラベスト5に遭遇。 順位は微妙に違うけど、1位〜4位までの萌えキャラに大賛同。 (5位のキャラは単に知らないだけ。) これで真宮寺さくらとか神崎すみれとかがランクインしていたら大ウケだったのにな〜。 (^^;)


■ 宇宙歴 1998.07.23

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980723

[01] IBMのチャンドラ2
IBMからチャンドラ2が。 ThinkPad 235か〜。 VAIOやらなんやらが大流行している今日この頃では、ちとサイズがでかいかな〜。

[02] FM/V BIBLO
FM/V BIBLO NC313ユーザー宛として、Windows98の優待販売のお知らせが届く。 普通にWindows98 Upgrade版を購入した場合は1500円のキャッシュバック、富士通にWIndows98 Upgrade版を注文した場合は11,800円だそうだ。 メーカー通販だと、下手をすると秋葉原などの実売価格の方が安くなってしまうが、キャッシュバックという方法は良いかも。 Shoさんの日記からたどって FM WORLD:Windows98(R)対応状況を見ると、BIBLO NC313はWindows98対応らしい。

[03] FreeBSD 2.2.7R
FreeBSD 2.2.7Rが予定通りリリースされた模様。 日本に住んでいるユーザーは、www.cdrom.comで注文する前にPacific HiTechを参照してくれとのこと。 Pacific HiTechはWalnut Creek CDROMと提携した模様。 Pacific HiTechをつらつらと見物したが、FreeBSDのSubscriptionはwww.cdrom.comでないと注文できない模様。

2.2.7Rでの目立った変更点は、msdosfsのFAT32対応、VFATによるlong file name対応、pppコマンドがさらに変更、XFree86は3.3.2.3になったなどなど。 さて、ずいぶん昔にFreeBSD CDROMをsubscriptionしたけど、ちゃんと届くかな。

[04] wwwoffleその後
wwwoffleをしばらく使ってみた感想。 すげー良すぎる。 (^^)
電車の中でもぐるぐるできるよ〜。 あらかじめ読み込んでおいたページなら一瞬で表示されるよ〜。 自分のページのリンク先存在チェックも手早くできちゃいそうだよ〜。 などなどなど。 マジで涙モノのソフトだ。 ダイアルアップ者は絶対にインストールするべしっ!!!!!!

[05] Links2Go
Links2Go: FreeBSD Awardsに当選しました〜という謎のメールが届いた。 メールの文面は英語で書いてあったので、上の意味内容が正しいかどうか不明(^^;)。 出だしがCongratulationsだったんで、新手のキャッチセールスかと思ったぜい。 (^^;) 見たところ英語ベースのページみたいだったけど、おいらのページにゃ日本語版しかないぞな...。 上記のページからFreeBSDを検索すると、日本語のページが多くヒットしているようだし、別に問題ないのかな。

ちなみに、Links2Go: FreeBSDをみると、なぜか帝撃楽屋とか、きわもとさんとことか、でんきそうじきがリンクされていたり。 関連性がつかめない...。 それに、あまりにもオレ巡回ポイントと合致しすぎてるし...。 (..)?
いったいどんな仕組みになっているのやら。

Links2Go: FreeBSD (FreeBSDの検索結果)を起点にちょっとぐるぐる。 NetBSD Install noteなるページを発見。 メモメモ。

[06] qvwm
qvwm ホームページをみてみたら、qvwm-1.0b10a.tar.gz 191KBがでていたのでゲット。


■ 宇宙歴 1998.07.24

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980724

[01]
結構派手な雨。 今年の夏はなんとなく涼しいような気がする。

[02] wwwoffle-2.2
wwwoffle-2.2をFreeBSD 2.2.6Rで動かすための差分。

diff -car wwwoffle-2.2.orig/Makefile wwwoffle-2.2/Makefile
*** wwwoffle-2.2.orig/Makefile	Tue Jun 16 03:58:24 1998
--- wwwoffle-2.2/Makefile	Thu Jul 23 00:35:23 1998
***************
*** 15,22 ****
  ########
  
  INSTDIR=/usr/local
! SPOOLDIR=/var/spool/wwwoffle
! CONFDIR=/var/spool/wwwoffle
  
  ########
  
--- 15,22 ----
  ########
  
  INSTDIR=/usr/local
! SPOOLDIR=/usr/local/wwwoffle
! CONFDIR=/usr/local/etc
  
  ########
  
***************
*** 240,246 ****
  	[ -e $(SPOOLDIR)/html -a ! -e $(SPOOLDIR)/html.old ] && mv $(SPOOLDIR)/html $(SPOOLDIR)/html.old ;\
  	[ ! -e $(SPOOLDIR)/html ] && mkdir $(SPOOLDIR)/html
  	@for f in html/* ; do \
! 	  cp -a $$f $(SPOOLDIR)/$$f && echo "Installing $(SPOOLDIR)/$$f";\
  	 done
  	@([ -d $(SPOOLDIR) -a ! -d $(SPOOLDIR)/prevtime1 ] && ./endian-cache > /dev/null 2>&1 ) || \
  	 (echo "WWWOFFLE: " ;\
--- 240,246 ----
  	[ -e $(SPOOLDIR)/html -a ! -e $(SPOOLDIR)/html.old ] && mv $(SPOOLDIR)/html $(SPOOLDIR)/html.old ;\
  	[ ! -e $(SPOOLDIR)/html ] && mkdir $(SPOOLDIR)/html
  	@for f in html/* ; do \
! 	  cp -Rp $$f $(SPOOLDIR)/$$f && echo "Installing $(SPOOLDIR)/$$f";\
  	 done
  	@([ -d $(SPOOLDIR) -a ! -d $(SPOOLDIR)/prevtime1 ] && ./endian-cache > /dev/null 2>&1 ) || \
  	 (echo "WWWOFFLE: " ;\
diff -car wwwoffle-2.2.orig/misc.c wwwoffle-2.2/misc.c
*** wwwoffle-2.2.orig/misc.c	Tue Jun 16 03:29:01 1998
--- wwwoffle-2.2/misc.c	Wed Jul 22 23:31:22 1998
***************
*** 503,509 ****
           tim->tm_hour,
           tim->tm_min,
           tim->tm_sec,
!          utc?"GMT":tzname[tim->tm_isdst>0]);
  
   return(value);
  }
--- 503,509 ----
           tim->tm_hour,
           tim->tm_min,
           tim->tm_sec,
!          utc?"GMT":tim->tm_zone);
  
   return(value);
  }
diff -car wwwoffle-2.2.orig/wwwoffle.h wwwoffle-2.2/wwwoffle.h
*** wwwoffle-2.2.orig/wwwoffle.h	Mon Jun 15 02:56:57 1998
--- wwwoffle-2.2/wwwoffle.h	Thu Jul 23 00:04:51 1998
***************
*** 27,36 ****
  #define DEF_WWWOFFLE_PORT 8081
  
  /*+ The default spool directory. +*/
! #define DEF_SPOOL "/var/spool/wwwoffle"
  
  /*+ The default configuration file directory. +*/
! #define DEF_CONF "/var/spool/wwwoffle"
  
  /*+ The absolute maximum number of servers to fork in total. +*/
  #define MAX_SERVERS 64
--- 27,36 ----
  #define DEF_WWWOFFLE_PORT 8081
  
  /*+ The default spool directory. +*/
! #define DEF_SPOOL "/usr/local/wwwoffle"
  
  /*+ The default configuration file directory. +*/
! #define DEF_CONF "/usr/local/etc"
  
  /*+ The absolute maximum number of servers to fork in total. +*/
  #define MAX_SERVERS 64
linuxで使われているらしいcpコマンドの-aってオプションはいったいどんな意味なんだろう。 一応 -rp に置き換えておいたけど。

さてと。 portsにするかな〜。 timezoneの部分の差分はwwwoffleの作者さんにメールした方がいいのかな? ほかの変更部分は、FreeBSDのportsノリに合わせるための変更だからどーでもいいんだけど。

[03] TRYGUNサントラ
ついついTRYGUNのサントラを買ってしまった。 そんなわけで現在鑑賞中。


■ 宇宙歴 1998.07.25

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980725

[01] 漢字コードの見分け方
FreeBSD-users-jp MLのネタ。 とあるファイルの漢字コードがJIS, EUC, SJISのどれかを判別するには

という方法があるらしい。 随分沢山あるな。 メモメモ。

[02] Java on FreeBSD
FreeBSD ANNOUNCE MLによると、 http://www.freebsd.org/javaにて、JDK 1.1.6対応になったアーカイブが置いてあるらしい。 今晩あたりゲットしよう。

[03] cp -a その後
cp -aの意味の調査ありがとうございました(^^)
cp -dpRと同じということで、FreeBSD 2.2.6Rでもチェック。

     -R    If source_file designates a directory, cp copies the directory and
	   the entire subtree connected at that point.	This option also caus-
	   es symbolic links to be copied, rather than indirected through, and
	   for cp to create special files rather than copying them as normal
	   files.  Created directories have the same mode as the corresponding
	   source directory, unmodified by the process' umask.

     -p    Causes cp to preserve in the copy as many of the modification time,
	   access time, file flags, file mode, user ID, and group ID as al-
	   lowed by permissions.

	   If the user ID and group ID cannot be preserved, no error message
	   is displayed and the exit value is not altered.

	   If the source file has its set user ID bit on and the user ID can-
	   not be preserved, the set user ID bit is not preserved in the
	   copy's permissions.	If the source file has its set group ID bit on
	   and the group ID cannot be preserved, the set group ID bit is not
	   preserved in the copy's permissions.  If the source file has both
	   its set user ID and set group ID bits on, and either the user ID or
	   group ID cannot be preserved, neither the set user ID or set group
	   ID bits are preserved in the copy's permissions.

COMPATIBILITY
     Historic versions of the cp utility had a -r option.  This implementation
     supports that option, however, its use is strongly discouraged, as it
     does not correctly copy special files, symbolic links or fifo's.
-dってオプションは無いらしい。 -rってオプションは廃止寸前のオプションだったのか。 差分を変更せねば。

[04] 遊技王
シンジ君(おいおい)が遊技王やってるのね。

[05] 花火大会
今日は浦安市の花火大会があった。 フフ。


■ 宇宙歴 1998.07.26

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980726

[01] Java 1.1.6

をゲット。 ダウンロード中一度も回線が切れなかったので、あっさりとゲットできた。 DTI松戸第2アクセスポイント様々だ。 (^^)

[02] JDKにおけるproxy設定
javaアプリケーション(スタンドアローン)をwwwoffleによるproxyに対応させる方法をチェック。 Java House ML Topicsから探してみると、以下の方法でシステムプロパティに設定すればOKらしい。

  1. アプリケーション実行時、javaのコマンドラインで指定する方法。
    指定方法は以下の通り。
    java -DproxySet=true -DproxyHost=proxyhost [-DproxyPort=portNumber] ....
    	    
  2. アプリケーション内部でシステムプロパティを設定する方法。
    # proxy.conf
    proxySet=true
    proxyHost=RealProxyHostName
    proxyPort=80
    	    
    ってなファイルを作成しておいて、アプリケーション内部で
    System.getProperties().load(new FileInputStream("proxy.conf"));
    	    
    と読み込む。
メモメモ。 それにしても、Java House ML Topicsってば便利すぎる。 (^^)

これでJavahinaアンテナ(仮称)のテストがオフラインでできるぞ。 (^^)
朝日奈アンテナ の方はhina.sh内部で環境変数http_proxyを設定すればproxy経由で情報取得してくれる。 これでアンテナのテストもオフラインでばっちりだ。 (^^)

あああ。 wwwoffle様々だ〜。

[03] サクラ大戦:4話:真夏の夢の夜
レンタル屋に寄ったらあったので借りてみた。 オープニングは新作。 物語序盤では、ゲーム中ミニゲームのシーンが利用されていたり。 これにはちょい受け。 このあたりはゲームやりこんだ人へのサービスサービスってところ。 話の内容はまぁいつもの通り。 全体的な雰囲気は「魔女の宅急便」に近いかな(←どこがやねん(笑))。

というわけで、サクラ大戦のOVAはこれにて終了。


■ 宇宙歴 1998.07.27

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980727

[01] 爆睡
我即爆睡ス、故にネタ無し(おいおい)。


■ 宇宙歴 1998.07.28

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980728

[01] 東京電脳遊園地
しゃあるさんのところから TDY(東京電脳遊園地)へ移動。 そういえば、ここのIDを持っているけど、ここんところ巡回してないな...。 kermitもインストールしたし、あとで巡回しよう。

[02] wwwoffle:その後2
wwwoffle-2.2は絶好調。 ただ、キャッシュファイルが意外な速度で増加中で、ディスク容量を圧迫していたり。 (キャッシュディレクトリのサイズはすでに50MBを突破している...。) こんなにぐるぐるしてたっけ?>オレ。

[03] パソコン通信
kermitでパソコン通信してみた。 Last Loginからすると、1998/04/16以来だったらしい。 今日のパソコン通信の気になったネタ。

Niftyserveの会議室の未読もちょっと気になってきた。 Nifty4U+と、gn-spoolをインストールすっかな。


■ 宇宙歴 1998.07.29

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980729

[01] トライガン
今回は過去の因縁が明らかになる話。 大墜落(ビックフォール)の原因はコレだったのカー。


■ 宇宙歴 1998.07.30

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980730

[01] ウォッチャーが選ぶ今日のサイト
ウォッチャーが選ぶ今日のサイト から YAMAGATA Hiroo: The Official Pageへ移動。 ををを。

の日本語訳があるぢゃーありませんか。 「ノウアスフィアの開墾」を読んでいると、J.P.ホーガンの「断絶への航海」的な世界の成立は、実はごく自然な成り行きに思えてくる。 ふむふむ。


■ 宇宙歴 1998.07.31

http://www.ceres.dti.ne.jp/~george/jdiary980716.html#19980731

[01] wwwoffleの利用方法
回線速度が遅い場合、ブラウザでリンクをクリックしてから画面が出てくるまで結構時間がかかるので精神衛生上良くない。 そんなわけで、wwwoffleを利用して、リンクをクリックしたらすぐに画面が出てくる方法をチェック。

  1. 下準備
    1. あらかじめ、巡回予定のURLをHTML形式のファイルにしておく。 私の場合は、読んでいる日記というページを作っているので、これを利用する。 ちなみに、htmlファイルはeuc-jpで書いておく必要がある。 iso-2022-jpで書いていたりすると、ESCシーケンスを理解しないwwwoffleのhtml解析ルーチンは日本語の漢字コードの一部に含まれている<なんかにも反応してしまい、URL取得リストへの追加がうまく行かない。
  2. 自動巡回
    1. wwwoffle filename.html などとして、上で用意した巡回予定URLを記入したHTMLファイルを読み込ませて取得予定リストに追加。
    2. PPP接続を開始。
    3. wwwoffle -online として、オンラインモードにする。
    4. wwwoffle -fetch として、巡回予定URLをザクザクゲット。
      ゲットには時間がかかるので、この隙に寝るとかゲームするとかいろいろする。
      wwwoffleのオンラインモード中にwwwoffle filename.htmlとして自動巡回させることもできるが、いろいろなメッセージ(Page MovedとかPage Unchangedとか)が表示されないので、ここで紹介した順番の方が楽しい。
    5. wwwoffle -offline として、オフラインモードにする。
    6. PPP接続を終了。
  3. いよいよ、人間が巡回開始。
    1. PPP接続を開始。オンデマンドダイアルアップモードにするのも良い。
      取得済のページから他のページへジャンプできるように、あらかじめダイアルアップしておくと快適だ。
    2. wwwoffle -autodial として、オンデマンドダイアルアップモードにする。
      このモードでは、wwwoffleはキャッシュにあるデータは外部に取りに行かないので、キャッシュに貯めてあるデータなら超高速で表示されるのだ。 キャッシュにないURLをアクセスしようとした段階で、はじめて外部のWWWサーバにアクセスする。 ここでwwwoffle -onlineにしてしまうと、せっかく自動巡回してキャッシュにため込んだデータがほとんど利用されず、もう一度外部のWWWサーバにアクセスしてしまうので、autodialモードにするのが高速表示の秘訣だ。 ニュース系サイトや日記など、同一URLで頻繁に更新されるページを見ていて「ひょっとして更新されているのでは?」と不安な場合には、Shiftキーを押しながらリロードボタンを押せばおっけー。 (この技は、通称スーパーリロードと呼ばれ、Netscape Navigator/Communicator使いは全員知っているとさえ言われている基本技だ(ぉぃぉぃ)。) スーパーリロードせんでも、単にリロードボタンをクリックするとかAlt+Rを押すだけでも良かったりするけど。
    3. 高速巡回を堪能。
      キャッシュがヒットしまくった場合は至福のひとときだ。 autodialモードなので、キャッシュにないデータはちゃんと外部WWWサーバにアクセスしてくれる。
    4. PPP接続を終了。
    5. wwwoffle -offline として、オフラインモードにする。

[02] wwwoffle-2.2の気になる動作
しばらく使ってみて、ちょっと気になる点もあった。

[03] wwwoffle -online が遅い理由
wwwoffle -onlineによってオンラインモードを指示されると、connect.c:114からDeleteLastTimeSpoolFile(NULL)をコールする。 connect.c:729:DeleteLastTimeSpoolFile関数内部では、

  1. prevtime3ディレクトリ以下の全ファイルを削除する処理
  2. prevtime2ディレクトリ以下の全ファイルをprevtime3にmvする処理
  3. prevtime1ディレクトリ以下の全ファイルをprevtime2にmvする処理
  4. lasttimeディレクトリ以下の全ファイルをprevtime1にmvする処理
を行っていたりする。 今これを書いているマシンでは、/usr/local/wwwoffle/lasttime/以下には271個のシンボリックリンクがある。 prevtime1,2,3にも同程度のファイルがあるので、全部で1200個ほどのファイルをmvしているわけだ。 こりゃ時間がかかるわな。 Linux上でwwwoffleを使っている人は遅いとは思わないんだろうな〜。 なんせ、mount -o asyncがデフォルトだし。 ううむ。

[04] Getweb!
Windows95/NTで動作するWWW自動巡回ソフトGetweb!というものがあるらしい。 メモメモ。

[05] wwwoffle -online の高速化
いちいち一つずつファイルをmvせんでも、ディレクトリをmvすりゃええのに...と思ったが...。 wwwoffleは複数同時動作してるんだったっけ。 うーむ。 mv lasttime previous1してmkdir lasttimeする間にCreateLastTimeSpoolFileを呼ばれるとマズイな。 mvからmkdirしている間はlasttimeにアクセスしないようにロックを使わねばなるまい。 (ヒモとタライ......か(!?))

とりあえず、ロックは使わずにディレクトリ名をmvするようにしてみる。 DeleteLastTimeSpoolFile内部をちょっと変更。 1200個ほどのmvをこなしていた以前よりは高速だが、prevtime3をrmdirする時には300個ほどのシンボリックリンクを削除しないといけない。 これにはちょっと時間がかかるな〜。 素直に#define NUM_PREVTIME_DIR 0 した方が良いのかもしれん。 ただ、オリジナルのwwwoffle-2.2のソースのままだと、#define NUM_PREVTIME_DIR 0した場合はlasttimeディレクトリ内部にシンボリックリンクが残ったままになりそうだけど。 もっと素直に mount -o async すれば良いとゆー話もあるよな...。 ふにふに。

とりあえず差分。

*** wwwoffle-2.2c.orig/spool.c	Sun Jun 21 00:14:26 1998
--- wwwoffle-2.2c/spool.c	Sat Aug  1 02:28:09 1998
***************
*** 786,865 ****
   else
     {
      int i;
      struct dirent* ent;
      DIR *dir;
  
!     for(i=NUM_PREVTIME_DIR;i>0;i--)
        {
!        sprintf(prevtime,"prevtime%d",i);
! 
!        if(chdir(prevtime))
!          {err=PrintMessage(Warning,"Cannot change to directory '%s' [%!s].",prevtime);return(err);}
! 
!        dir=opendir(".");
! 
!        if(!dir)
!          {err=PrintMessage(Warning,"Cannot open current directory '%s' [%!s].",prevtime);chdir("..");return(err);}
! 
!        ent=readdir(dir);  /* skip .  */
!        if(!ent)
!          {err=PrintMessage(Warning,"Cannot read current directory '%s' [%!s].",prevtime);closedir(dir);chdir("..");return(err);}
!        ent=readdir(dir);  /* skip .. */
! 
!        while((ent=readdir(dir)))
!           if(i<NUM_PREVTIME_DIR)
!             {
!              char *prev=(char*)malloc(strlen(ent->d_name)+16);
!              sprintf(prev,"../prevtime%d/%s",i+1,ent->d_name);
! 
!              if(rename(ent->d_name,prev))
!                 PrintMessage(Warning,"Cannot rename previous time page '%s/%s' to '%s' [%!s].",prevtime,ent->d_name,prev+3);
! 
!              free(prev);
!             }
!           else
!             {
!              if(unlink(ent->d_name))
!                 PrintMessage(Warning,"Cannot unlink previous time page '%s/%s' [%!s].",prevtime,ent->d_name);
!             }
! 
!        closedir(dir);
! 
!        chdir("..");
        }
! 
!     if(chdir("lasttime"))
!       {err=PrintMessage(Warning,"Cannot change to directory 'lasttime' [%!s].");return(err);}
  
      dir=opendir(".");
- 
      if(!dir)
!       {err=PrintMessage(Warning,"Cannot open current directory 'lasttime' [%!s].");chdir("..");return(err);}
! 
      ent=readdir(dir);  /* skip .  */
      if(!ent)
!       {err=PrintMessage(Warning,"Cannot read current directory 'lasttime' [%!s].");closedir(dir);chdir("..");return(err);}
      ent=readdir(dir);  /* skip .. */
  
      while((ent=readdir(dir)))
!       {
!        char *prev=(char*)malloc(strlen(ent->d_name)+16);
!        sprintf(prev,"../prevtime1/%s",ent->d_name);
! 
!        if(rename(ent->d_name,prev))
!           PrintMessage(Warning,"Cannot rename previous time page '%s/%s' to '%s' [%!s].",prevtime,ent->d_name,prev+3);
  
!        free(prev);
        }
  
!     closedir(dir);
     }
! 
!  chdir("..");
! 
   return(err);
  }
- 
  
  /*++++++++++++++++++++++++++++++++++++++
    Create a file in the lasttime directory.
--- 786,833 ----
   else
     {
      int i;
+     char lasttimedirname[NUM_PREVTIME_DIR+1][16];
      struct dirent* ent;
      DIR *dir;
  
!     strcpy(lasttimedirname[0], "lasttime");
!     for(i=1;i<=NUM_PREVTIME_DIR;i++)
        {
!           sprintf(lasttimedirname[i], "prevtime%d", i);
        }
!     
!     if(chdir(lasttimedirname[NUM_PREVTIME_DIR]))
!       {err=PrintMessage(Warning,"Cannot change to directory '%s' [%!s].",lasttimedirname[NUM_PREVTIME_DIR]);return(err);}
  
      dir=opendir(".");
      if(!dir)
!       {err=PrintMessage(Warning,"Cannot open current directory '%s' [%!s].",lasttimedirname[NUM_PREVTIME_DIR]);chdir("..");return(err);}
      ent=readdir(dir);  /* skip .  */
      if(!ent)
!       {err=PrintMessage(Warning,"Cannot read current directory '%s' [%!s].",lasttimedirname[NUM_PREVTIME_DIR]);closedir(dir);chdir("..");return(err);}
      ent=readdir(dir);  /* skip .. */
  
      while((ent=readdir(dir)))
!         if(unlink(ent->d_name))
!             PrintMessage(Warning,"Cannot unlink previous time page '%s/%s' [%!s].",prevtime,ent->d_name);
!     closedir(dir);
!     chdir("..");
  
!     if(rmdir(lasttimedirname[NUM_PREVTIME_DIR]))
!       {PrintMessage(Warning,"Cannot rmdir directory '%s' [%!s].",lasttimedirname[NUM_PREVTIME_DIR]);return(err);}
!  
!     for(i=NUM_PREVTIME_DIR;i>0;i--)
!       {
!        if(rename(lasttimedirname[i-1], lasttimedirname[i]))
!          PrintMessage(Warning,"Cannot rename directory '%s' to '%s' [%!s].",lasttimedirname[i-1], lasttimedirname[i]);
        }
  
!     if(mkdir(lasttimedirname[0],0755))
!       PrintMessage(Warning,"Cannot create directory '%s' [%!s].",lasttimedirname[0]);
     }
!     
   return(err);
  }
  
  /*++++++++++++++++++++++++++++++++++++++
    Create a file in the lasttime directory.

Copyright(c) 1996-2017 George(小濱 純). All rights reserved.
私の作成したページへのリンクはご自由にどうぞ。
このページに間違いや要望などがありましたら george@yk.rim.or.jp まで御連絡ください。
メール本文に 6020-5440-3372 と書いて頂くと、ウチのSPAMフィルタを通過できます(2009-06-14から2017-12-31まで)。

[ホームページ] [日記] [読んでいる日記] [秋葉原価格] [FreeBSD] [FreeBSD LINK] [検索] [高速検索]

home: <george@yk.rim.or.jp> or <george@ceres.dti.ne.jp>
(I am using white list SPAM filter. To avoid it, please write 6020-5440-3372 in mail body. This key word is valid since 2009-06-14 until 2015-12-31.)