ネコ情報
ネコを各種ブログ(Blog)から一括検索します。
トップ > _common > _common - 人気ブログ(Blog)検索結果詳細 (2008年12月2日 5時)
プログラミング iconv 恐ろしいバグ
本当に偶然、恐ろしいバグ?を発見した。
報告しておく。
convert1: Invalid argument
が出たので調べていたら見つけた。
こんなのわかるわけないよ。
#include <stdio.h>
#include <iconv.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
size_t convert(char *inbuf, char *outbuf, int byteread);
int main(){
size_t ret_val;
int src;
FILE *dst;
int byteread;
char inbuf[21701];
char *outbuf = (char *)malloc(86243);
if(outbuf == NULL) {
perror("maloc");
exit(EXIT_FAILURE);
}
src = open("bbsmenu", O_RDONLY);
if(!src){
perror("open");
exit(EXIT_FAILURE);
}
dst = fopen("utf8.txt", "w");
if(!dst){
perror("open");
exit(EXIT_FAILURE);
}
while(1){
byteread = read(src, inbuf, sizeof(inbuf));
if (byteread > 0){
ret_val = convert(inbuf, outbuf, byteread);
fwrite(outbuf, sizeof(char), ret_val, dst);
} else {
break;
}
}
fclose(dst);
close(src);
return 0;
}
size_t convert(char *inbuf, char *outbuf, int byteread){
iconv_t icd;
size_t inbyteleft;
size_t outbyteleft;
size_t ret;
char *inchar;
char *outchar;
if ((icd = iconv_open("UTF-8", "Shift_JIS")) == (iconv_t)-1) {
perror("iconv_open");
exit(EXIT_FAILURE);
}
inchar = inbuf;
outchar = outbuf;
inbyteleft = byteread;
outbyteleft = (byteread * 2);
ret = iconv(icd, &inchar, &inbyteleft,
&outchar, &outbyteleft);
if ((ret == -1) && (errno == EINVAL)) {
perror("convert1");
exit(EXIT_FAILURE);
}
if ((ret == -1) && (errno == EILSEQ)) {
perror("convert2");
exit(EXIT_FAILURE);
}
if ((ret == -1) && (errno == E2BIG)) {
perror("convert3");
exit(EXIT_FAILURE);
}
return outbyteleft;
}
このコードをコンパイルしても、convert1: Invalid argumentで失敗する。
でも、
char inbuf[21702]にすると成功する。
原因はわからない。
iconvの変なバグに悩ませられている人はお試しあれ。
作者:hp-ux
更新日:2008年12月2日 6時19分
プログラミング C言語 ポインタ
char *buf = (char *)malloc(5);
if(inbuf == NULL) {
perror("maloc");
exit(EXIT_FAILURE);
}*
printf("%d",sizeof(buf));
とやると4が出力される。
sizeof(buf)をした場合はchar *のサイズが返ってくるから
注意だ!!
作者:hp-ux
更新日:2008年12月1日 2時21分
フィギュア アルター 八神 はやて
予約しておいた、アルターはやてをアニメイトに取りに行く。
実物見たら、あまりの大きさにビックリ。
店員さんの梱包が、青いラップ?でくるんだだけで側面は見えるから
羞恥プレイ。
ま、出来は満足できるモノ。
今月は(延期するだろうけれど)シグ姐も販売されるし、
楽しみ楽しみ。
作者:hp-ux
更新日:2008年12月1日 2時11分
sgi octane2 スペック
宝くじ大当たり!
V12だった!!
スゲー嬉しい!!
IRIS # hinv -v 1 600 MHZ IP30 Processor Heart ASIC: Revision F CPU: MIPS R14000 Processor Chip Revision: 2.4 FPU: MIPS R14010 Floating Point Chip Revision: 0.0 Main memory size: 1024 Mbytes Xbow ASIC: Revision 1.4 Instruction cache size: 32 Kbytes Data cache size: 32 Kbytes Secondary unified instruction/data cache size: 2 Mbytes Integral SCSI controller 0: Version QL1040B (rev. 2), single ended Disk drive: unit 1 on SCSI controller 0 (unit 1) Disk drive: unit 2 on SCSI controller 0 (unit 2) Integral SCSI controller 1: Version QL1040B (rev. 2), single ended IOC3/IOC4 serial port: tty1 IOC3/IOC4 serial port: tty2 IOC3 parallel port: plp1 Graphics board: V12 Integral Fast Ethernet: ef0, version 1, pci 2 Iris Audio Processor: version RAD revision 12.0, number 1 PCI Adapter ID (vendor 0x10a9, device 0x0003) PCI slot 2 PCI Adapter ID (vendor 0x1077, device 0x1020) PCI slot 0 PCI Adapter ID (vendor 0x1077, device 0x1020) PCI slot 1 PCI Adapter ID (vendor 0x10a9, device 0x0005) PCI slot 3
おまけに、動作が不安定だから壊れたメモリ引っこ抜こうと思ってメインボード引っぱり出したら、
2003年5月生産と書いてあった。
販売終了直前の機種じゃん!
PROMも
PROM Monitor SGI Version 6.5 Rev 4.17 IP30 Jan 20, 2004 - 64 Bit
だし!
うれしい誤算だった!
でも、メインボードがなかなか引っこ抜けなくて難儀。
壊れなくて良かった...
13w3変換コネクタ買ってこなくちゃ。
作者:hp-ux
更新日:2008年12月1日 1時56分
プログラミング iconv 完成
やっと本番コードにiconvを使った部分を導入。
やっぱりデバッガを使って動きを調べないと、わからないことがいっぱい有るや。
ただえさえ、あっさりmanだし。
作者:hp-ux
更新日:2008年11月30日 5時3分
Sun Ultra40 購入
Ultra40をOttoから購入。
結構傷だらけで、ショック。
足もないし。
でも、メチャメチャ重いのでビビった。
体壊すところだった。
作者:hp-ux
更新日:2008年11月30日 4時56分
sgi octane2 購入
sgiのoctane2がヤフオクでやすく出ていたので、購入。
octane2とか、ヤフオクに初めて出たときは80万位の値段だったのに。
80分の1で購入できた。
佐川の営業所留めで送ってもらったんだが、
送り状の問い番と実際の問い番が違うという珍しい問題が発生。
営業所留めで問い番が違うと、調べようがないしホントに困った。
最終的には送り主から送り状を写真でとってメールしてもらって、そのプリントを営業所に持っていって解決。
さすがに菓子折はなかった。
んで、octane2はメモリが2G搭載のはずなのに1Gしか認識しないと言う問題があったが、
ハードディスクがメチャメチャいいものをつんでいたので、まっいいかと我慢。
hinvではグラフィックスがV6かV8かV10かV12かわからないので、OSをインストールして調べることにする。
13W3変換コネクタ無くしたので、シリアル接続でただいまインストール中。
さて、グラフィックスがV12だと良いんだけれど....
ちょっとした宝くじ気分だ。
作者:hp-ux
更新日:2008年11月30日 4時55分
雑記 大須 MSI お客様大感謝祭 〜最新製品性能体感イベント〜
MSI お客様大感謝祭 〜最新製品性能体感イベント〜なるものが、
大須であるというので行って来た。
天気は残念ながら雨。
場所はグッドウィルの隣の喫茶店。
15時20分くらいにいったら、ちょうどジャンケン大会中だった。
その後17時30分まで3会参加したが、自分の運の悪さを呪ったよ。Orz...
結果として傘と水筒をもらったんだけれど、
自分としては写真立てとLEDライトが欲しかったから、非常に残念。
人の集まりは悪く、競争率は低かったと思う。
司会者の人も、「今日はあいにくの雨で、トヨタも休みではないそうですし...」と言っていた。
でも、こういうのを見ると、生まれつき運の強い人と悪い人がいるのがわかるなぁ。
なんが、おばさんが一人で何個も景品とってるし...
あと最後のほうは傘がダダあまり気味だったんだが、それでも、
司会者の人が「傘をもう持ってる人はもらわないで」と言っているのに、もらっていく奴が何人かいたのは激烈に不愉快だった。
帰りに数学ガール(マンガ版)をかって帰る。
作者:hp-ux
更新日:2008年11月25日 0時11分
雑記 Tech総研 思ったこと
きみたりゅうじさんのエンジニア解体新書の中の
今やIT業界は、世界の中心だよね?というコラム?
http://rikunabi-next.yahoo.co.jp/tech/docs/ct_s03600.jsp?p=001280
を読んで、心に誓ったよ。
ユーザー視点でモノを考え、技術を使いやすくすることが、使命なんだよな。
ときどき、自分もO久保さんのような視点になってしまうこともあるけれど、
それは一般から見れば異端なんだよね。
作者:hp-ux
更新日:2008年11月24日 21時23分
プログラミング iconv サンプルコード
なぜかiconvのサンプルプログラムがweb上になかなか転がっていなかったので、
書いてみる。
Shift_JISのファイルを引数にとり、
UTF-8のファイルを吐く。
iconv_open("UTF-8", "Shift_JIS")の引数は
実装依存。
hp-uxではShift_JISではコンパイル時に失敗。
#include <stdio.h>
#include <stdlib.h>
#include <iconv.h>
#define S_SIZE (86243)
int main(char argc, char *argv[])
{
int i;
FILE *src, *dst;
src = fopen(argv[1], "r");
if(!src){
perror(argv[i]);
exit(EXIT_FAILURE);
}
dst = fopen("utf8.text", "w");
if(!dst){
perror("utf8.text");
exit(EXIT_FAILURE);
}
iconv_t cd;
if((cd = iconv_open("UTF-8", "Shift_JIS")) == (iconv_t)-1){
perror("iconv_open");
exit(EXIT_FAILURE);
}
char inbuf[S_SIZE];
char *inchar;
char outbuf[S_SIZE];
char *outchar;
size_t outbytesleft;
size_t inbyteleft;
int bytesread;
size_t ret_val;
inbyteleft = 0;
for(;;){
inchar = inbuf;
outchar = outbuf;
outbytesleft = S_SIZE;
if((bytesread = read(fileno(src), inbuf+inbyteleft,
(size_t)S_SIZE-inbyteleft)) < 0){
perror("read");
exit(EXIT_FAILURE);
}
if(!(inbyteleft += bytesread)){
break;
}
ret_val = iconv(cd, &inchar, &inbyteleft, &outchar, &outbytesleft);
if(write(fileno(dst), outbuf, (size_t)S_SIZE-outbytesleft)<0){
perror("write");
exit(EXIT_FAILURE);
}
if ((ret_val == -1) && (errno == EINVAL)) {
perror("convert1");
exit(EXIT_FAILURE);
}
if ((ret_val == -1) && (errno == EILSEQ)) {
perror("convert2");
exit(EXIT_FAILURE);
}
if ((ret_val == -1) && (errno == E2BIG)) {
perror("convert3");
exit(EXIT_FAILURE);
}
}
if(iconv_close(cd) == -1){
perror("CLOSE");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
}
gcc iconv.c -L/usr/local/lib -liconv
でコンパイル。
ちなみに、バッファが足りないと
Arg list too long
という頓珍漢なエラーを出して失敗するよ。
作者:hp-ux
更新日:2008年11月23日 14時33分
フィギュア ボークス モエコレPlus 初音 ミク
今日はまんだらけ名古屋店のフィギュア関連放出日だった。
オープンより2分程度遅れて店にはいるが、人がいるわいるわ....
神姫のリペイントや、アルターフェイトや、ハロウィン娘、クィーンズゲイトのいんく...
といったレアモノが並ぶ。
んで、絶対再販があるとわかっていたけれど、我慢できずにボークスのモエコレPlus 初音ミクを買っちゃった。
お値段15700円なり。
だって、リンレンと並べなかったんだもの...
最初店に行ったとき、もう店には置いて無くて「売り切れたかなぁ」とあきらめていたら、
店員が奥から出してきて「ボークスの初音ミク販売します」の一言。
すぐ「購入します」と応じると、店員は「何人か購入希望の方がいますので、もう少し待って下さい。ジャンケンになるかも...」
と言って何度も「ボークスの初音ミク販売します」と連呼。
「たのむ、誰も出ないでくれ」と心の中かで念じると結局誰も出ずに購入に至った。
値段はプレミアのボッタクリだけれど、こういう一悶着の末に手に入ったモノだし、
中古は縁モノだし、思いではプライスレスさ。
作者:hp-ux
更新日:2008年11月23日 12時28分
雑記 ツクモ電気
ツクモ電機がえらいことになっていると聞いていたので、
大須のツクモ電機にも行ってみた。
そしたら、みせがシャッターで閉じていて
NECリースが云々という張り紙。
シャメとっている人も多数。
ツクモが大須からいなくなると痛いなぁ。
作者:hp-ux
更新日:2008年11月23日 12時12分
本 マンガ かったもの
鉄のラインバレル 11巻
特典のメッセージペーパーがB5のコピーしたぺらぺらペーパーという面白い内容だったので、
メロンブックスで購入。この特典はねぇだろ。
未来日記 7巻
特典のメッセージペーパーがイラストペーパーだったのでアニメイトで購入。
未来日記モザイクはアニメイトでは特典なしだったので見送り。
その後、とらのあなで未来日記モザイクのメッセージペーパー付きを購入するが、
そちらは、未来日記 7巻のメッセージペーパー(とらのあな版)と繋がる仕様(おまけに水着)。
ちょっと失敗。
イエスタデイを歌って 6巻
すんごい久しぶりの続刊。
これにはどのアニメショップでも特典無いと読んでアニメイトで購入。
姐さん、遅筆すぎるよ。
それなのに、いろいろ連載持つからなぁ。
画集は購入見送り。
トラウマイスタ 1巻
サンデーで絶賛連載中の作品。
どの店もハヤテや魔王は商品展開していたのに、トラウマイスタは目立たないところに置いてある。
もったいない。絵柄が個性的で、話も面白くて最高なのに。
とらのあなで購入。
とある魔術の禁書目録 3巻
特典のメッセージペーパーにつられて、とらのあなで購入。
電磁砲は買ってるけれど、こっちも購入リストに入れるか。
作者:hp-ux
更新日:2008年11月23日 12時8分
おもちゃ ガンダムコレクション DX8 仮面ライダー vol3 ライダーマスクコレクション
sofmapでガンダムコレクション DX8を売っていたので
3つほどつまんでみた。
Zplus C1(BST)ハミングバードが2個と
ガンダムF91が1個。
しかし、Zplus C1(BST)ハミングバードはホントわかりやすいな。
重さが違うから一発だ。
ライダーマスクコレクションは、ファミマで購入。
2つつまんだら、ハイパーカブトとベルデ。
ハイパーカブトが当たって大満足。
作者:hp-ux
更新日:2008年11月23日 11時53分
本 プログラミング S・P・ハービソン3世とG・L・スティール・ジュニアのCリファレンスマニュアル
前に大須の三洋堂で見かけたこの本。
装丁もカッコイイし、立ち見した感じではとても読みやすかったんだけれど、
少し高いから購入に躊躇していた。
今日、思い切って買ってしまった。
クレジットの二回分割で。
内容は、本当に細かいところまで書いてあって、読みやすいマニュアルという感じ。
Amazonではレビューも何もついてないけれど、
調べたら米Amazonではとても高い評価を得ていた。
http://www.amazon.com/Reference-Manual-Samuel-P-Harbison/dp/tags-on-product/013089592X
俺って目利きだなぁ。
作者:hp-ux
更新日:2008年11月23日 11時45分
プログラミング iconv 恐ろしいバグ
本当に偶然、恐ろしいバグ?を発見した。
報告しておく。
convert1: Invalid argument
が出たので調べていたら見つけた。
こんなのわかるわけないよ。
#include <stdio.h>
#include <iconv.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
size_t convert(char *inbuf, char *outbuf, int byteread);
int main(){
size_t ret_val;
int src;
FILE *dst;
int byteread;
char inbuf[21701];
char *outbuf = (char *)malloc(86243);
if(outbuf == NULL) {
perror("maloc");
exit(EXIT_FAILURE);
}
src = open("bbsmenu", O_RDONLY);
if(!src){
perror("open");
exit(EXIT_FAILURE);
}
dst = fopen("utf8.txt", "w");
if(!dst){
perror("open");
exit(EXIT_FAILURE);
}
while(1){
byteread = read(src, inbuf, sizeof(inbuf));
if (byteread > 0){
ret_val = convert(inbuf, outbuf, byteread);
fwrite(outbuf, sizeof(char), ret_val, dst);
} else {
break;
}
}
fclose(dst);
close(src);
return 0;
}
size_t convert(char *inbuf, char *outbuf, int byteread){
iconv_t icd;
size_t inbyteleft;
size_t outbyteleft;
size_t ret;
char *inchar;
char *outchar;
if ((icd = iconv_open("UTF-8", "Shift_JIS")) == (iconv_t)-1) {
perror("iconv_open");
exit(EXIT_FAILURE);
}
inchar = inbuf;
outchar = outbuf;
inbyteleft = byteread;
outbyteleft = (byteread * 2);
ret = iconv(icd, &inchar, &inbyteleft,
&outchar, &outbyteleft);
if ((ret == -1) && (errno == EINVAL)) {
perror("convert1");
exit(EXIT_FAILURE);
}
if ((ret == -1) && (errno == EILSEQ)) {
perror("convert2");
exit(EXIT_FAILURE);
}
if ((ret == -1) && (errno == E2BIG)) {
perror("convert3");
exit(EXIT_FAILURE);
}
return outbyteleft;
}
このコードをコンパイルしても、convert1: Invalid argumentで失敗する。
でも、
char inbuf[21702]にすると成功する。
原因はわからない。
iconvの変なバグに悩ませられている人はお試しあれ。
作者:hp-ux
更新日:2008年12月1日 21時19分
プログラミング C言語 ポインタ
char *buf = (char *)malloc(5);
if(inbuf == NULL) {
perror("maloc");
exit(EXIT_FAILURE);
}*
printf("%d",sizeof(buf));
とやると4が出力される。
sizeof(buf)をした場合はchar *のサイズが返ってくるから
注意だ!!
作者:hp-ux
更新日:2008年11月30日 17時21分
フィギュア アルター 八神 はやて
予約しておいた、アルターはやてをアニメイトに取りに行く。
実物見たら、あまりの大きさにビックリ。
店員さんの梱包が、青いラップ?でくるんだだけで側面は見えるから
羞恥プレイ。
ま、出来は満足できるモノ。
今月は(延期するだろうけれど)シグ姐も販売されるし、
楽しみ楽しみ。
作者:hp-ux
更新日:2008年11月30日 17時11分
sgi octane2 スペック
宝くじ大当たり!
V12だった!!
スゲー嬉しい!!
IRIS # hinv -v 1 600 MHZ IP30 Processor Heart ASIC: Revision F CPU: MIPS R14000 Processor Chip Revision: 2.4 FPU: MIPS R14010 Floating Point Chip Revision: 0.0 Main memory size: 1024 Mbytes Xbow ASIC: Revision 1.4 Instruction cache size: 32 Kbytes Data cache size: 32 Kbytes Secondary unified instruction/data cache size: 2 Mbytes Integral SCSI controller 0: Version QL1040B (rev. 2), single ended Disk drive: unit 1 on SCSI controller 0 (unit 1) Disk drive: unit 2 on SCSI controller 0 (unit 2) Integral SCSI controller 1: Version QL1040B (rev. 2), single ended IOC3/IOC4 serial port: tty1 IOC3/IOC4 serial port: tty2 IOC3 parallel port: plp1 Graphics board: V12 Integral Fast Ethernet: ef0, version 1, pci 2 Iris Audio Processor: version RAD revision 12.0, number 1 PCI Adapter ID (vendor 0x10a9, device 0x0003) PCI slot 2 PCI Adapter ID (vendor 0x1077, device 0x1020) PCI slot 0 PCI Adapter ID (vendor 0x1077, device 0x1020) PCI slot 1 PCI Adapter ID (vendor 0x10a9, device 0x0005) PCI slot 3
おまけに、動作が不安定だから壊れたメモリ引っこ抜こうと思ってメインボード引っぱり出したら、
2003年5月生産と書いてあった。
販売終了直前の機種じゃん!
PROMも
PROM Monitor SGI Version 6.5 Rev 4.17 IP30 Jan 20, 2004 - 64 Bit
だし!
うれしい誤算だった!
でも、メインボードがなかなか引っこ抜けなくて難儀。
壊れなくて良かった...
13w3変換コネクタ買ってこなくちゃ。
作者:hp-ux
更新日:2008年11月30日 16時56分
プログラミング iconv 完成
やっと本番コードにiconvを使った部分を導入。
やっぱりデバッガを使って動きを調べないと、わからないことがいっぱい有るや。
ただえさえ、あっさりmanだし。
作者:hp-ux
更新日:2008年11月29日 20時3分
Sun Ultra40 購入
Ultra40をOttoから購入。
結構傷だらけで、ショック。
足もないし。
でも、メチャメチャ重いのでビビった。
体壊すところだった。
作者:hp-ux
更新日:2008年11月29日 19時56分
sgi octane2 購入
sgiのoctane2がヤフオクでやすく出ていたので、購入。
octane2とか、ヤフオクに初めて出たときは80万位の値段だったのに。
80分の1で購入できた。
佐川の営業所留めで送ってもらったんだが、
送り状の問い番と実際の問い番が違うという珍しい問題が発生。
営業所留めで問い番が違うと、調べようがないしホントに困った。
最終的には送り主から送り状を写真でとってメールしてもらって、そのプリントを営業所に持っていって解決。
さすがに菓子折はなかった。
んで、octane2はメモリが2G搭載のはずなのに1Gしか認識しないと言う問題があったが、
ハードディスクがメチャメチャいいものをつんでいたので、まっいいかと我慢。
hinvではグラフィックスがV6かV8かV10かV12かわからないので、OSをインストールして調べることにする。
13W3変換コネクタ無くしたので、シリアル接続でただいまインストール中。
さて、グラフィックスがV12だと良いんだけれど....
ちょっとした宝くじ気分だ。
作者:hp-ux
更新日:2008年11月29日 19時55分
雑記 大須 MSI お客様大感謝祭 〜最新製品性能体感イベント〜
MSI お客様大感謝祭 〜最新製品性能体感イベント〜なるものが、
大須であるというので行って来た。
天気は残念ながら雨。
場所はグッドウィルの隣の喫茶店。
15時20分くらいにいったら、ちょうどジャンケン大会中だった。
その後17時30分まで3会参加したが、自分の運の悪さを呪ったよ。Orz...
結果として傘と水筒をもらったんだけれど、
自分としては写真立てとLEDライトが欲しかったから、非常に残念。
人の集まりは悪く、競争率は低かったと思う。
司会者の人も、「今日はあいにくの雨で、トヨタも休みではないそうですし...」と言っていた。
でも、こういうのを見ると、生まれつき運の強い人と悪い人がいるのがわかるなぁ。
なんが、おばさんが一人で何個も景品とってるし...
あと最後のほうは傘がダダあまり気味だったんだが、それでも、
司会者の人が「傘をもう持ってる人はもらわないで」と言っているのに、もらっていく奴が何人かいたのは激烈に不愉快だった。
帰りに数学ガール(マンガ版)をかって帰る。
作者:hp-ux
更新日:2008年11月24日 15時11分
雑記 Tech総研 思ったこと
きみたりゅうじさんのエンジニア解体新書の中の
今やIT業界は、世界の中心だよね?というコラム?
http://rikunabi-next.yahoo.co.jp/tech/docs/ct_s03600.jsp?p=001280
を読んで、心に誓ったよ。
ユーザー視点でモノを考え、技術を使いやすくすることが、使命なんだよな。
ときどき、自分もO久保さんのような視点になってしまうこともあるけれど、
それは一般から見れば異端なんだよね。
作者:hp-ux
更新日:2008年11月24日 12時23分
プログラミング iconv サンプルコード
なぜかiconvのサンプルプログラムがweb上になかなか転がっていなかったので、
書いてみる。
Shift_JISのファイルを引数にとり、
UTF-8のファイルを吐く。
iconv_open("UTF-8", "Shift_JIS")の引数は
実装依存。
hp-uxではShift_JISではコンパイル時に失敗。
#include <stdio.h>
#include <stdlib.h>
#include <iconv.h>
#define S_SIZE (86243)
int main(char argc, char *argv[])
{
int i;
FILE *src, *dst;
src = fopen(argv[1], "r");
if(!src){
perror(argv[i]);
exit(EXIT_FAILURE);
}
dst = fopen("utf8.text", "w");
if(!dst){
perror("utf8.text");
exit(EXIT_FAILURE);
}
iconv_t cd;
if((cd = iconv_open("UTF-8", "Shift_JIS")) == (iconv_t)-1){
perror("iconv_open");
exit(EXIT_FAILURE);
}
char inbuf[S_SIZE];
char *inchar;
char outbuf[S_SIZE];
char *outchar;
size_t outbytesleft;
size_t inbyteleft;
int bytesread;
size_t ret_val;
inbyteleft = 0;
for(;;){
inchar = inbuf;
outchar = outbuf;
outbytesleft = S_SIZE;
if((bytesread = read(fileno(src), inbuf+inbyteleft,
(size_t)S_SIZE-inbyteleft)) < 0){
perror("read");
exit(EXIT_FAILURE);
}
if(!(inbyteleft += bytesread)){
break;
}
ret_val = iconv(cd, &inchar, &inbyteleft, &outchar, &outbytesleft);
if(write(fileno(dst), outbuf, (size_t)S_SIZE-outbytesleft)<0){
perror("write");
exit(EXIT_FAILURE);
}
if ((ret_val == -1) && (errno == EINVAL)) {
perror("convert1");
exit(EXIT_FAILURE);
}
if ((ret_val == -1) && (errno == EILSEQ)) {
perror("convert2");
exit(EXIT_FAILURE);
}
if ((ret_val == -1) && (errno == E2BIG)) {
perror("convert3");
exit(EXIT_FAILURE);
}
}
if(iconv_close(cd) == -1){
perror("CLOSE");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
}
gcc iconv.c -L/usr/local/lib -liconv
でコンパイル。
ちなみに、バッファが足りないと
Arg list too long
という頓珍漢なエラーを出して失敗するよ。
作者:hp-ux
更新日:2008年11月23日 5時33分
フィギュア ボークス モエコレPlus 初音 ミク
今日はまんだらけ名古屋店のフィギュア関連放出日だった。
オープンより2分程度遅れて店にはいるが、人がいるわいるわ....
神姫のリペイントや、アルターフェイトや、ハロウィン娘、クィーンズゲイトのいんく...
といったレアモノが並ぶ。
んで、絶対再販があるとわかっていたけれど、我慢できずにボークスのモエコレPlus 初音ミクを買っちゃった。
お値段15700円なり。
だって、リンレンと並べなかったんだもの...
最初店に行ったとき、もう店には置いて無くて「売り切れたかなぁ」とあきらめていたら、
店員が奥から出してきて「ボークスの初音ミク販売します」の一言。
すぐ「購入します」と応じると、店員は「何人か購入希望の方がいますので、もう少し待って下さい。ジャンケンになるかも...」
と言って何度も「ボークスの初音ミク販売します」と連呼。
「たのむ、誰も出ないでくれ」と心の中かで念じると結局誰も出ずに購入に至った。
値段はプレミアのボッタクリだけれど、こういう一悶着の末に手に入ったモノだし、
中古は縁モノだし、思いではプライスレスさ。
作者:hp-ux
更新日:2008年11月23日 3時28分
雑記 ツクモ電気
ツクモ電機がえらいことになっていると聞いていたので、
大須のツクモ電機にも行ってみた。
そしたら、みせがシャッターで閉じていて
NECリースが云々という張り紙。
シャメとっている人も多数。
ツクモが大須からいなくなると痛いなぁ。
作者:hp-ux
更新日:2008年11月23日 3時12分
本 マンガ かったもの
鉄のラインバレル 11巻
特典のメッセージペーパーがB5のコピーしたぺらぺらペーパーという面白い内容だったので、
メロンブックスで購入。この特典はねぇだろ。
未来日記 7巻
特典のメッセージペーパーがイラストペーパーだったのでアニメイトで購入。
未来日記モザイクはアニメイトでは特典なしだったので見送り。
その後、とらのあなで未来日記モザイクのメッセージペーパー付きを購入するが、
そちらは、未来日記 7巻のメッセージペーパー(とらのあな版)と繋がる仕様(おまけに水着)。
ちょっと失敗。
イエスタデイを歌って 6巻
すんごい久しぶりの続刊。
これにはどのアニメショップでも特典無いと読んでアニメイトで購入。
姐さん、遅筆すぎるよ。
それなのに、いろいろ連載持つからなぁ。
画集は購入見送り。
トラウマイスタ 1巻
サンデーで絶賛連載中の作品。
どの店もハヤテや魔王は商品展開していたのに、トラウマイスタは目立たないところに置いてある。
もったいない。絵柄が個性的で、話も面白くて最高なのに。
とらのあなで購入。
とある魔術の禁書目録 3巻
特典のメッセージペーパーにつられて、とらのあなで購入。
電磁砲は買ってるけれど、こっちも購入リストに入れるか。
作者:hp-ux
更新日:2008年11月23日 3時8分
おもちゃ ガンダムコレクション DX8 仮面ライダー vol3 ライダーマスクコレクション
sofmapでガンダムコレクション DX8を売っていたので
3つほどつまんでみた。
Zplus C1(BST)ハミングバードが2個と
ガンダムF91が1個。
しかし、Zplus C1(BST)ハミングバードはホントわかりやすいな。
重さが違うから一発だ。
ライダーマスクコレクションは、ファミマで購入。
2つつまんだら、ハイパーカブトとベルデ。
ハイパーカブトが当たって大満足。
作者:hp-ux
更新日:2008年11月23日 2時53分
本 プログラミング S・P・ハービソン3世とG・L・スティール・ジュニアのCリファレンスマニュアル
前に大須の三洋堂で見かけたこの本。
装丁もカッコイイし、立ち見した感じではとても読みやすかったんだけれど、
少し高いから購入に躊躇していた。
今日、思い切って買ってしまった。
クレジットの二回分割で。
内容は、本当に細かいところまで書いてあって、読みやすいマニュアルという感じ。
Amazonではレビューも何もついてないけれど、
調べたら米Amazonではとても高い評価を得ていた。
http://www.amazon.com/Reference-Manual-Samuel-P-Harbison/dp/tags-on-product/013089592X
俺って目利きだなぁ。
作者:hp-ux
更新日:2008年11月23日 2時45分