nsaarc on Cygwin(2)

http://www.it.sakura.ne.jp/~s_iwa/cgi-bin/tnote.cgi?book=Diary2004&from=59&to=64#No64
なんとnsaarcの作者さんにリンクされてしまいました。Webの力というのはすごいなあ。

Cygwin 向けの patch を発見…作者さんに連絡とってアーカイブにいれちゃおうかな。

いやもう好きにしてもらって全然かまわないんですが、あれ作ったときは「動けばいいや」とか思って、足りない関数を適当にぐぐってコピーしただけだったんですよね。コピーしたソースに変なライセンス*1がついてたらまずいので、1から作り直すことにしました。もし本体に組み込んでもらえるのでしたら、こちらを使っていただければと思います。

begin 644 nsaarc-0.2.cygwin-patch.gz
M'XL("`KS04$``VYS86%R8RTP+C(N8WEG=VEN+7!A=&-H`.U62U/;,!`^PZ_8
MTD,<QTYLYP%U2#MTFG;H4'J@7-HR&6,KL:A1/'X4,L!_KV0ICI\A0'K#D\E(
MJV]?WZZM=?!T"JH-)+2LP%:UMM%QD#UW4#LK:]N+V0TFJF]%MHN<%+(KRW*5
MZLZ/&,'7V`.]#_K`I#]-`T/3NKNJJFY@=^?,BN`,^:#KH'5-O6?V>TR_QQQF
MGR2`?47O0K(#H+^WF-A>["`X#",'S]ON^Z+0PY=,^B8CI:(9(D6L'2U\5#80
M8#(K21=AAZ%#=L"R3**B"_7)477DBKCDSE8B<\KUYLNU]5Y"BO5>RHOU[M.2
M;5+O5+]0;]TT#E[KO8W(OA-O`9BLJ8$ISMKH%E6U1QQA;VUS<$"Q-;BTW!C&
M8)/&$-J%MM@W=>.U+;81615_AJ88?4X@"YQN#WK9R&/BH"E\&G\\_\(D+;!=
M*P`9)A/?"D)$_R-7XC*V5,0YL:Z10ELP@JEGS9IW5#%YDE,&G`2_/A^?C">G
M1]_&D[/CG^.+80XC^^F>6<$*7#%[3)C*IQ*S!*,1G)Z?G,#]/5`2/$02<9/)
MM97GY`E0%`>$P8CM+R0>Y5Y[3X%\,*""WDP#>%@NEGH\`05XQNM4*U-ED`L8
M0>.WUDB1TWD@X9%&\V1_F(RT(>##3$*3H$DEK58A)<$"=8(O6,J-3J.`6,(P
MJ3K@E,])A$F,AN7SA[((>2&JLT2_.B/0'[63W]483&QIPS6*(O.K5HOQF?)0
MKMP26**=\I)4]=I/JUK7#_^AH5CBU2&\-`:0V(O'X?`A,0CF-B+KO)2<&@/U
M(8C:Y5\%5:_I]GITOO"KUJ`G%!W8;I!FR<QF6\1??F0VR3#//#?Y+.Y7=C;P
MZK?T)YC/&Y3](CMK_`B*'G/UP+_4XKJXM$+$]#-7Q2JI,+(B;',H`];>#"*@
MW-W#O\%,3:%$#85GX=;!P49>*>X93JF6(M).L@6(28AG!#G<:H`LARVDA"R0
MISXT*>ANEQLN@J-A[23F/C8UN963F)N=Q+1W9G=@]HR-)S&W.(D-Q(!?/8GI
M>CJ*,>-L.\A,$N@V0I1&=IE?6W_0A)(GRD()S!WC\,;Z*^79D9OBYA<X+BQT
258+)`?+UI^?_`//`"[/Z#@``
`
end

ちなみに、著作権とかは一切主張しませんので誰でも使いたい方はご自由にどうぞ。

必要な人がいるかもしれないので一応解説。使い方は、

  1. nsaarcのソースファイルがあるディレクトリに移動
  2. 上の文字列を行末の</pp>を削除して*2適当な名前(例えばhoge.uu)で保存

その後、

% uudecode hoge.uu
% zcat nsaarc-0.2.cygwin-patch.gz | patch -p1
% make

でいけるはず。


※追記
http://www.it.sakura.ne.jp/~s_iwa/cgi-bin/tnote.cgi?book=Diary2004&from=60&to=66#No65
本体に取り込まれそうな予感・・・。身に余る光栄ですね。Cの文字列処理なんてすごい久々にやったからちょっと心配。
それにしても、このトピックだけ浮きまくってるよなあ・・・

*1:GPLとか

*2:</pp>が出る不具合は解決策を発見しました