もう六月か。日記再開。
I井くんの要求に触発されて10個づつ環境変数を表示するCGIアプリケーションを作成した。もともと全環境変数を表示するCGIアプリケーションはあったのだけど、iモード端末から参照すると2KB/5KBの壁をぶち破るので最後まで表示できなかったのだ。
ソースはこんな感じ:
--env.c
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main(int argc, char *argv[], char **env) {
int i;
int page = 0;
char *pathinfo = getenv("PATH_INFO");
if (pathinfo != NULL) {
page = atoi(&pathinfo[1]);
}
printf("Content-type:text/html\r\n\r\n");
for (i = 0; i < N && env[page * N + i] != NULL; i++) {
printf("%s<br>\n", env[page * N + i]);
}
if (page > 0) {
printf("<a href=\"%s/%d?%s\"><</a> ",
getenv("SCRIPT_NAME"),
page - 1,
getenv("QUERY_STRING"));
}
if (env[page * N + i] != NULL) {
printf("<a href=\"%s/%d?%s\">></a>",
getenv("SCRIPT_NAME"),
page + 1,
getenv("QUERY_STRING"));
}
return 0;
}
--
このサイトはSolaris 2.5.1なんだけど、手元に転がっていたSolarisにはコンパイラが入っていなかったのでgccを落としてきてからバイナリを生成する迂遠な方法をとった。作ってから気が付いたのだけど、この程度ならperlでできたか。
夜ヨドバシで自宅用タブレットを買う。K原と同じIntus-600USBだ。

コメントする