md5sum コンパイル。

webにプログラム落ちてたが
stdarg とかいらねーだろ とかブツブツいいながら
削除し軽量化。。。

/*
作者
     オリジナルの MD5 ルーチンは、RSA Data Security 社によって開発され、上記の
     参照で公開されました。このコードは、Poul-Henning Kamp <phk@FreeBSD.org>
     による実装に直接由来します。

     Phk ristede runen
Copyright
     (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
*/
int main(int argc, char *argv[])
{
	char *fname;
	FILE *fp;

	unsigned char buffer[16384];
	int length;

	unsigned char signature[16];
	int i;

	struct MD5Context md5c;

	fname = argv[1];
	if ((fp = fopen(fname, "rb")) == NULL) {
		fprintf(stderr, "Cannot open input file %s\n", fname);
		return 2;
	}
	_setmode(_fileno(fp), _O_BINARY);

	MD5Init(&md5c);
	while ((length = (int) fread(buffer, 1, sizeof buffer, fp)) > 0)
		MD5Update(&md5c, buffer, (unsigned) length);

	fclose(fp);

	MD5Final(signature, &md5c);

	for (i = 0; i < sizeof signature; i++) {
		printf("%02X", signature[i]);
	}

	printf("  %s",  fname);
	printf("\n");

	return 0;
}

OpenBSD5.2 のインストーラーがすげえ便利になってる!!!

GentooがOpenBSD3.2 時代くらいのややこしさだったから
かなり感動ですね。

GentooGrubの設定の仕方がさいごの方にwebに書いて有ってちよっとめんどうだった...w*1


ユーザーワールドをtar.ball にしてるのは好き。

...というかなんでみんなOpenBSD使わないの?わけがわからない!!

なにがしたいのかは md5.c ほしかつただけ...

cd /usr/
cvs -qd  anoncvs@anoncvs.jp.openbsd.org:/cvs  get -rOPENBSD_5_2 -P src

cd src
# fgrep -Rn MD5Init .| grep void
./bin/md5/md5.c:131:            (void (*)(void *))MD5Init,
./gnu/usr.bin/cvs/lib/md5.h:19:void cvs_MD5Init PROTO ((struct cvs_MD5Context *context));
./include/md5.h:31:void  MD5Init(MD5_CTX *);
./lib/libsqlite3/src/tclsqlite.c:3288:static void MD5Init(MD5Context *ctx){
./sbin/isakmpd/hash.c:61:       (void (*)(void *))MD5Init,
./sys/arch/sparc64/stand/ofwboot/md5.h:46:void  MD5Init(MD5_CTX *);
./sys/crypto/md5.h:30:void       MD5Init(MD5_CTX *);
./sys/crypto/xform.c:238:       (void (*) (void *)) MD5Init, NULL, NULL,
./sys/crypto/xform.c:316:       (void (*)(void *)) MD5Init, NULL, NULL,
./sys/crypto/xform.c:332:       (void (*) (void *)) MD5Init, NULL, NULL,
./usr.sbin/httpd/src/include/ap_md5.h:83:API_EXPORT(void) ap_MD5Init(AP_MD5_CTX *context);

./lib/libsqlite3/src/tclsqlite.c ってSQLiteの TCLの中かいなww

http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libsqlite3/src/tclsqlite.c

#if defined(SQLITE_TEST) || defined(SQLITE_TCLMD5)
/*
 * This code implements the MD5 message-digest algorithm.
 * The algorithm is due to Ron Rivest.  This code was
 * written by Colin Plumb in 1993, no copyright is claimed.
 * This code is in the public domain; do with it what you wish.
 *
 * Equivalent code is available from RSA Data Security, Inc.
 * This code has been tested against that, and is equivalent,
 * except that you don't need to include two pages of legalese
 * with every copy.
 *
 * To compute the message digest of a chunk of bytes, declare an
 * MD5Context structure, pass it to MD5Init, call MD5Update as
 * needed on buffers full of bytes, and then call MD5Final, which
 * will fill a supplied 16-byte array with the digest.
 */

また相変わらずカンジワルイ事書いて有るなwww
打倒、「正しくないライセンス」っていう体制は大好きですwww
この体制のおかげでGPL排除できてる

*1:Linux嫌いな身としてはなるべく嵌る時間を最小限にしたい

うぜー

1.81 にしたら さらにだいあろぐがうざくなってたので対策

簡単な計算(足算)結果を入力させるダイアログが出ると続行できるようになるのですが、これが鬱陶しいので(ry

普通にWM_CLOSE受け取るみたいなので、

void Cclose_windowDlg::OnTimer(UINT nIDEvent)
{
	// TODO : ここにメッセージ ハンドラ コードを追加するか、既定の処理を呼び出します。
	CWnd* wnd;
	CString str;
	int i = 60;
	for(;;)
	{
		str.Format("Continue in %d minutes", i--);
		wnd = FindWindow("#32770", str);
		if(wnd) {
			wnd->SendMessage(WM_CLOSE, 0,0 );
			break;
		}
		if( i < 0 ) break;
	}

	//wnd = FindWindow("#32770", "Continue in 47 minutes");
	//if(wnd) wnd->SendMessage(WM_CLOSE, 0,0 );

	CDialog::OnTimer(nIDEvent);
}

そしてこういうこと書くとWM_CLOSEをstrcmp()==0しないと受けなくして来るだろうなー...
ただのffmpegFEPだし、そろそろ自分でFEP作るか...

MEncoderffmpegとかは最新版に挿げ替えてるので
すでに原型をとどめていなかったりするが...

その後このツールは...
ファイルから設定読めるようにしたり
能動的に監視するようにしたり
タスクトレイ常駐化や
アイコンアニメーションするようにした(´∀`)<アホカー

全自動でエンコードできるにょろ!!