もう六月か。日記再開。
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だ。
コメントする