io.print_charバグ
bluedragon1 opened this issue · comments
bluedragon1 commented
現象
- 以下のプログラムを実行すると、セグフォが起きる。
io.print_char(io.stdout,1,out).
分析
- io.print_charは以下のルールで適用される。
- lib/io.lmnの63行目
io.print_char(Port, C, RetPort) :- unary(C), class(Port, "port") |
'$callback'('cb_port_putc', Port, C, RetPort).
- しかし、Cがstring型でないとセグフォを起こしてしまう。他のunary型のアトムには対応していなかった。
bluedragon1 commented
- セグフォが起きないように修正。正しく出力されるようになった。
- 現状io.print_charモジュールがio.printモジュールの機能を包含しているので、io.printにまとめても良いかも。