蝉は、やがて死ぬる午後に気づいた。ああ、私たち、もっと仕合せになってよかったのだ。:2003年04月21日分

2003/04/21(Mon)

Citrus iconv

@iconvdata

# foo.mps.src
TYPE		mapper_std
NAME		foo/bar
SRC_ZONE	0x0-0xfffffffe
DST_INVALID	0xffffffff
DST_UNIT_BITS	32

BEGIN_MAP
0x0-0xfffffffe = 0x0-
END_MAP
$ /usr/bin/mkmapper_std < foo,mps.src >foo.mps
malloc: Cannot allocate memory

うーむ、alloc_table()で死んでしまう。
上の例は極端かもしれんけど、GB18030-2000のバヤイ
ASCII/GBK compatible areaを別CSIDにしたとしても

SRC_ZONE 0x81308130-0xfe39fe39

とか無駄に大きなtableが必要なので、GB18030-2000ヤバい。
まじでヤバイよ、マジヤバイ。mallocできないくらいヤバイ(以下略

@ulimit unlimited

してもメモリ192MBな開発用ノートでわKilledされてまうわー。
src/usr.bin/mkmapper_std/yacc.y修正ですかぁ。