とりあえず作業内容を少し思い出すところまではできたから、今日はここまで。
OpenBSD, Ham(JG1UAA), Ingress(Lv14, RES), Japanese(Sagamihara-city, Kanagawa)
Another side: https://social.tchncs.de/@uaa
npub1rarr265r9f9j6ewp960hcm7cvz9zskc7l2ykwul57e7xa60r8css7uf890
Messages from this Mastodon account can read via mostr.pub with npub1j3un8843rpuk4rvwnd7plaknf2lce58yl6qmpkqrwt3tr5k60vfqxmlq0w
わかんねーなー…
sjgetchar.cのvoid write_stdout(unsigned char *s, int n)、単に中身をwhile (n-- > 0) putchar(*s++);にしただけでも普通に動くんだけど、何のためにknj1stだのknj2ndだのを使ってknj2nd→knj1stの順にひっくりかえす処理をやってるんだ??
uaa@slackware-vm2:~/sj3$ 12345
Jbash[uaa on sj3]: 12345: コマンドが見つかりません
uaa@slackware-vm2:~/sj3$
a3 b1 a3 b2 a3 b3 a3 b4 a3 b5 ..........
0d 0a 1b 5b 3f 32 30 30 34 6c 0d ...[?2004l.
4a 62 61 73 68 5b 75 61 61 20 6f 6e 20 73 6a 33 5d 3a 20 a3 b1 a3 b2 a3 b3 a3 b4 a3 b5 3a 20 a5 b3 a5 de a5 f3 a5 c9 a4 ac b8 ab a4 c4 a4 ab a4 ea a4 de a4 bb a4 f3 0d 0a 1b 5b 3f 32 30 30 34 68 75 61 61 40 73 6c 61 63 6b 77 61 72 65 2d 76 6d 32 3a 7e 2f 73 6a 33 24 20 Jbash[uaa on sj3]: ..........: ...........................[?2004huaa@slackware-vm2:~/sj3$
uaa@slackware-vm2:~/sj3$ あいうえお
Jbash[uaa on sj3]: あいうえお: コマンドが見つかりません
uaa@slackware-vm2:~/sj3$
a4 a2 a4 a4 a4 a6 a4 a8 a4 aa ..........
0d 0a 1b 5b 3f 32 30 30 34 6c 0d ...[?2004l.
4a 62 61 73 68 5b 75 61 61 20 6f 6e 20 73 6a 33 5d 3a 20 a4 a2 a4 a4 a4 a6 a4 a8 a4 aa 3a 20 a5 b3 a5 de a5 f3 a5 c9 a4 ac b8 ab a4 c4 a4 ab a4 ea a4 de a4 bb a4 f3 0d 0a 1b 5b 3f 32 30 30 34 68 75 61 61 40 73 6c 61 63 6b 77 61 72 65 2d 76 6d 32 3a 7e 2f 73 6a 33 24 20 Jbash[uaa on sj3]: ..........: ...........................[?2004huaa@slackware-vm2:~/sj3$
ん-む、必ずoutput_master()→write_stdout()を通るような気がする。なんつーか…buffer modeでなんかしてる時とか、画面下のファンクションキー表示はこのパスを通ってない。
あああああ、make sj3じゃないとsj3ビルドしないんだこれ…!(本当に忘れてる)
うぬおおおかしいな、echo "aaa" > /dev/ttyS0だとちゃんとシリアルポートにデータが吐かれるのに、書いたコードだとダンマリ。なんか間違えてるんだろうけど何を間違えたのか見当がつかぬ。
…思い出した、Vine-2.5な仮想マシン上でsj3servを動かして、他のマシンでsj3(client)動かすんだこれ…
(というくらいに、作業内容忘れてる…)
ptyのpacket modeが何飛ばしてくるのかが分からない。
どうもsj3のsjgetchar.c、このpacketと、read時において…EUCなりSJISなりにおける、マルチバイト文字を構成する際にマルチバイト文字の境界をきちんとする(途中でぶった切られない)ことを保証する処理が入ってるっぽいなという感じに見えるのでそこはUTF-8対応する際も実装(というか改造?)しないといけないんじゃないのって思ってる。
pty terminal packet mode TIOCPKT (2011/9/18) https://stackoverflow.com/questions/7460035/pty-terminal-packet-mode-tiocpkt
STREAMS I/O subsystemの説明を見よってリンクあるけどリンク先の文書量が多いからあとで読む https://docs.oracle.com/cd/E19455-01/805-7478/index.html