ふりぽけ日記 (2000年11月下旬)

[ 捕捉確認済アンテナ ]
日記観察
*BSD Diary Links
わっちりんく(す)
はこんだらウォッチ
天野アンテナ
HNN日記バード
しっぽあんてな
しぐなるぽ〜と
  • 99:システムバックアップをとる
  • 90:mhttpd のテスト&デバッグ
  • 10:過去日記置場

2000.11.20 (Mon)

@ w3m

いつの間にか、w3m に Local CGI なる機能が実装されていた模様。

しかし、ポケビの主力ブラウザに そんな機能が実装されてしまうと mhttpd の存在意義 (笑)がますます減退していくような。

@ ストレス

mhttpd のコードをいろいろ見直し中。

データの持ち回りについて少しはマシな構造を考えたい。 懸案は

というわけで、ブラウザから来た情報などは一式構造体に詰め込んでから、 下位の関数に受け渡すようにしよう。

…作業中。

…。

…。

…。

<ちゃぶ台>だぁーっ!</ちゃぶ台>

Cで文字列処理なんてやってられっかー!

@ [mhttpd]リリース

というわけで、mhttpd を少し改造しました。ポート番号を指定しないと標準入出力を読み書きしますので、 inetd の手下になることができます。

でも DocumentRoot については次回と言うことで…。(汗;

内部のデータの持ち方は上記の通りいろいろ変わってます。 バグを発見した方はメールなり他の媒体なりで教えて下さい。 (メールが一番早く伝わります。)


2000.11.23 (Thu)

@ [mhttpd]コード分割

コードを複数のファイルに分割してみたり。

こんなに大きなプログラムは生まれて初めて書くもんだから、当然分割作業も初めて。 聞きかじりの知識でやったことなので、おかしいところは是非指摘してもらいたいです。



~/src/mhttpd $ wc -l *.c *.h

     304 http.c

     245 mhttpd.c

     492 output.c

     179 sock.c

     393 util.c

      64 global.h

     179 mhttpd.h

    1856 total

…、分けただけなのになんで増えますか。

@ ひさびさに mgterm

コンソールと同じ画面イメージで使いたいので、 mgterm をいじってみた。 -r というオプション指定でリバースモード(黒地に白文字)になる。



diff -ur mgterm/mgterm.c mgterm_r/mgterm.c

--- mgterm/mgterm.c	Thu Aug 31 21:06:47 2000

+++ mgterm_r/mgterm.c	Thu Nov 23 22:10:26 2000

@@ -113,6 +113,10 @@

 

 char *cmdline;

 

+/* 2000年 11月23日 木曜日 20時40分32秒 JST cake */

+int color_text;

+int color_back;

+

 void send_hangup(close) {

 	if (childid) kill(childid,SIGHUP);

 }

@@ -172,7 +176,10 @@

 	int x,y,xs,ys,outocr;

 	int soft_key = 0;

 

-	while ((c = getopt(argc,argv,"iwf:ms:e:o:"))!=EOF) {

+	color_text = COLOR_BLACK;

+	color_back = COLOR_WHITE;

+

+	while ((c = getopt(argc,argv,"iwf:ms:e:o:r"))!=EOF) {

 		switch(c) {

 		case 'i': inherit_tty = 0;

 			break;

@@ -201,6 +208,10 @@

 				SCREEN_HEIGHT = 200;

 			}

 			break;

+		case 'r':	/* reverse mode (cake) */

+			color_text = COLOR_WHITE;

+			color_back = COLOR_BLACK;

+			break;

 		}

 	}

 

@@ -244,7 +255,7 @@

 	}

 	if (ttyfd < 0) exit(1);

 

-	set_color(COLOR_WHITE);

+	set_color(color_back);

 	clear_screen();

 	if (font_size == 10) {

 		if (!load_font("k12x10.fnt",12,10)) {

@@ -273,6 +284,7 @@

 	ys = lines*font_height;

 

 	ts = create_textscreen(NULL,x,y,xs,ys,0);

+	ts_set_bgcolor(ts, color_back);

 	if (mgl_apli_type == AT_MINIAPLI) {

 		set_color(COLOR_DARKGRAY);

 		draw_rect(2,2,SCREEN_WIDTH-4,SCREEN_HEIGHT-4);

diff -ur mgterm/vt.c mgterm_r/vt.c

--- mgterm/vt.c	Thu Aug 31 21:06:47 2000

+++ mgterm_r/vt.c	Thu Nov 23 22:18:50 2000

@@ -180,6 +180,10 @@

 int MAXLIN=18;

 extern int ptyfd;

 

+/* cake */

+extern int color_text;

+extern int color_back;

+

 struct screen_data {

 	char attr;	/* 0: no char 1: ANK 2:kanji 1st 4: kanji 2nd */

 	unsigned char ch;

@@ -891,7 +895,7 @@

 	memmove(&screen_data[0][0],&screen_data[l][0]

 	   ,(void *)(&screen_data[MAXLIN][0]) - (void *)(&screen_data[l][0]));

 #endif

-	set_color((con.attr&ATTR_REVERSE)?COLOR_BLACK:COLOR_WHITE);

+	set_color((con.attr&ATTR_REVERSE)?color_text:color_back);

 #if 1	/* scroll region fix */

 	fill_rect(ts->x,ts->y+(con.ymax+1-l)*font_height,ts->xs,l*font_height);

 	memset(&screen_data[con.ymax+1-l][0],0

@@ -913,7 +917,7 @@

 	bitblt(NULL,ts->x,ts->y+l*font_height,NULL,ts->x,ts->y,ts->xs,ts->ys - l*font_height,0);

 	memmove(&screen_data[l][0],&screen_data[0][0]

 	   ,(void *)(&screen_data[MAXLIN][0]) - (void *)(&screen_data[l][0]));

-	set_color((con.attr&ATTR_REVERSE)?COLOR_BLACK:COLOR_WHITE);

+	set_color((con.attr&ATTR_REVERSE)?color_text:color_back);

 	fill_rect(ts->x,ts->y,ts->xs,l*font_height);

 	memset(&screen_data[0][0],0

 	   ,(void *)(&screen_data[l][0]) - (void *)(&screen_data[0][0]));

@@ -927,7 +931,7 @@

 }

 

 void TextClearEol(c) int c;  {

-	set_color((con.attr&ATTR_REVERSE)?COLOR_BLACK:COLOR_WHITE);

+	set_color((con.attr&ATTR_REVERSE)?color_text:color_back);

 	if (con.x < MAXCOL)

 	fill_rect(ts->x+con.x*font_width,ts->y+con.y*font_height,ts->xs-con.x*font_width,font_height);

 	memset(&screen_data[con.y][con.x],0

@@ -936,7 +940,7 @@

 }

 

 void TextClearEos(c) int c;  {

-	set_color((con.attr&ATTR_REVERSE)?COLOR_BLACK:COLOR_WHITE);

+	set_color((con.attr&ATTR_REVERSE)?color_text:color_back);

 	if (con.x < MAXCOL) {

 	   fill_rect(ts->x+con.x*font_width,ts->y+con.y*font_height,ts->xs-con.x*font_width,font_height);

 	   memset(&screen_data[con.y][con.x],0

@@ -978,7 +982,7 @@

 		memmove(&screen_data[con.y][con.x+c],&screen_data[con.y][con.x]

 	   		,(void *)(&screen_data[con.y][MAXCOL]) 

 			- (void *)(&screen_data[con.y][con.x+c]));

-		set_color((con.attr&ATTR_REVERSE)?COLOR_BLACK:COLOR_WHITE);

+		set_color((con.attr&ATTR_REVERSE)?color_text:color_back);

 		/* kaga */

 		fill_rect(x1,ts->y+con.y*font_height,font_width*c,font_height);

 		memset(&screen_data[con.y][con.x],0,c);

@@ -1005,7 +1009,7 @@

 		memmove(&screen_data[top][0],&screen_data[top+line][0]

 			,(btm-line-top+1)*sizeof(struct screen_data)*MAXCOL);

 	}

-	set_color((con.attr&ATTR_REVERSE)?COLOR_BLACK:COLOR_WHITE);

+	set_color((con.attr&ATTR_REVERSE)?color_text:color_back);

 	fill_rect(ts->x,y3,ts->xs,line*font_height);

 	memset(&screen_data[btm+1-line][0],0

 		,(line)*sizeof(struct screen_data)*MAXCOL);

@@ -1026,7 +1030,7 @@

 		memmove(&screen_data[top+line][0],&screen_data[top][0]

 			,(btm-line-top+1)*sizeof(struct screen_data)*MAXCOL);

 	}

-	set_color((con.attr&ATTR_REVERSE)?COLOR_BLACK:COLOR_WHITE);

+	set_color((con.attr&ATTR_REVERSE)?color_text:color_back);

 	fill_rect(ts->x,y1,ts->xs,line*font_height);

 	memset(&screen_data[top][0],0

 		,(line)*sizeof(struct screen_data)*MAXCOL);

@@ -1043,9 +1047,9 @@

 	if (con.attr & ATTR_ITALIC) attr |= FA_ITALIC;

 	if (con.attr & ATTR_HIGH) attr |= FA_BOLD;

 	set_font(font_size,attr);

-	set_color((con.attr&ATTR_REVERSE)?COLOR_BLACK:COLOR_WHITE);

+	set_color((con.attr&ATTR_REVERSE)?color_text:color_back);

 	fill_rect(x,y,xs,ys);

-	set_color((con.attr&ATTR_REVERSE)?COLOR_WHITE:COLOR_BLACK);

+	set_color((con.attr&ATTR_REVERSE)?color_back:color_text);

 	draw_font(x,y,(ch1<<8)|ch2,DIR_NORTH);

 	if (con.attr & ATTR_ULINE) {

 		draw_line(x,y+ys-1,x+xs-1,y+ys-1);

@@ -1067,9 +1071,9 @@

 	if (con.attr & ATTR_ITALIC) attr |= FA_ITALIC;

 	if (con.attr & ATTR_HIGH) attr |= FA_BOLD;

 	set_font(font_size,attr);

-	set_color((con.attr&ATTR_REVERSE)?COLOR_BLACK:COLOR_WHITE);

+	set_color((con.attr&ATTR_REVERSE)?color_text:color_back);

 	fill_rect(x,y,xs,ys);

-	set_color((con.attr&ATTR_REVERSE)?COLOR_WHITE:COLOR_BLACK);

+	set_color((con.attr&ATTR_REVERSE)?color_back:color_text);

 	draw_font(x,y,ch&0x7f, DIR_NORTH);

 	if (con.attr & ATTR_ULINE) {

 		draw_line(x,y+ys-1,x+xs-1,y+ys-1);

@ mgterm でメタキー

~/.emacs から



(set-keyboard-coding-system 'euc-jp)

を外したら ALT が Meta として働くようになった。 上記は Xhpc で Emacs が kinput2 から漢字入力できるようにと設定したものだった。 imcanna を生かしたい場合も必要になってくるような気もするが、とりあえず外しとこう。


2000.11.24 (Fri)

@ [hpcmips]レジューム失敗

サスペンドさせてしばらく経ってから、再びレジュームさせようと電源ボタンを押しても 、復帰しないことがある。

リセットボタンだけが効くが、それを押すと CE が動き出す。

うぐぅ。

@ だれか

Liece で自分が参加していないチャンネル一覧を見るためのコマンドを教えてくらはい。


2000.11.26 (Sun)

@ やないさんの

ese-nikki、もうちょっと目に優しい色使いにしてくれると嬉しいな。濃緑地に薄緑な文字なんだもん。

@ [mhttpd]autoconf

issei さんからのパッチを取り込んたものをリリース。

ちょっとだけ欲をだして試行錯誤の末 install: ターゲットも追加。 勝手に install-sh なんてつけちゃったけどよかったのかな。:-P

あと、ブランチを切って遊ぶ。リポジトリにいらんタグがたくさんついてしまった。 けどなんとなく cvs の使い方がわかってきたり。

あとはブランチからのマージをマスターせねば。


2000.11.27 (Mon)

@ inetd から起動

されるプログラムが、引数を受け取れなくて悩んでいる。むう、tcp_wrappers とか見れ ばいいのか。

@ [mhttpd]逆引きとか

要りますかね、ログで。アドレスで十分?

@ 最近嫌いな言葉とか

ネチケット

普通の礼儀とかエチケットとかでいいじゃん、とか思う。


2000.11.28 (Tue)

@ 発見

Emacs の C-mode で M-; するとあら不思議。

これで打鍵の面倒な /* */ なコメントも簡単に入れられます。

ってこれ基本ですか。

@ [mhttpd]またまた

issei さん から立て続けに mhttpd のパッチが送られて来たり。

やはり見る人が見ると目に余るものらしい。甘々なコードをバサバサと斬られている。 勉強になります。m(_@_)m


2000.11.29 (Wed)

@ あうー

ああっ 、わがまま言ってすみません。

会社の Win から IE で見たら、ese-nikki はほぼ黒地に緑文字という感じで、そんなに見にくいことなかったです。 おかしいなあ。おかしいのは自分の目か?

自宅から見るぶんには今のが見やすいですが。


2000.11.30 (Thu)

@ 絶賛テンパり中

ニセがテンパっている。

逃避したいけどできないくらいの激しさで。

うう。コードいじりたいよぅ。


以上、8日分です。

[Top] [PocketBSD] [シュミプロ] [ぽめれちょう掲示板] [きまたま日記] [最新版] [一覧] [戻る]


このページはTsDiarySystemを用いて生成されています。

Cake (SHIMADA Keiki)