[Armadillo:00291] Armadillo-J での getenv 関数

Kenji Hirano email@hidden
2005年 5月 19日 (木) 12:55:49 JST


はじめまして,平野と申します.

Armadillo-J で IP アドレスをブラウザ上で変更したいので
試行錯誤をしています.

thttpd に "-c **.cgi" オプションをつけ CGI を有効にし,
ページを表示する C 言語での CGI アプリの動作検証は済みました.

しかし,GET または POST されたデータを受け取るために
getenv 関数を利用したいのですが,msh では "Memory fault" が
発生してしまいます.
BusyBox の他のシェルを利用しても同様に "Memory fault" が発生
するか,無応答になります.

BusyBox の各シェルが setenv をサポートしていないようなので
tcsh をいれてみようかと make してみたのですが,
エラーが出て試すことが出来ませんでした.

Armadillo-J で getenv 関数を利用する方法,または,
getenv 関数以外でのブラウザからのデータ取得方法はありますか?


開発環境:Fedora CORE 3
 arm-elf-tools-20030314.sh
 uClinux-dist-aj20050421.tar.gz


----------
getenv 関数の動作テスト

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc,char *argv[])
{
	char ans[1024];
	memset(ans,0,sizeof(ans));
	if (getenv("PATH")!=NULL)
		strcpy(ans,getenv("PATH"));
	printf("Content-type: text/html\n\n");
	printf("<HTML><HEAD></HEAD><BODY>\n");
	if (0<strlen(ans))
		printf("PATH=%s<BR>\n",ans);
	else
		printf("PATH=(NULL)<BR>\n");
	printf("</BODY></HTML>\n");
	return 0;
}





armadillo メーリングリストの案内