読者です 読者をやめる 読者になる 読者になる

こないだ見た衝撃的ソースコード

// とあるライブラリの関数
int FindFoo(char* name)
{    // 文字列を渡すとデータをサーチしてFooのハンドルを返す
    return 0;// 適当
}

// その人が書いた我々が使うためのインターフェイスとなるラッパー関数
int GetFoo(unsigned short* name)
{
    return FindFoo((char*)name);
}

{   // 使い方の例らしきもの
    char* fooName = "hogehoge";
    int handle = GetFoo((unsigned short*)fooName);
}

ほわっつ?????????

だめだ、こいつ、はやくなんとかしないと……。
「(画面に表示する文字は国際化対応のため)ワイド文字にしないといけない」*1
というところから、なぜかこんなソースになったそうな。orz
キャストしてもワイド文字にはならねえんだよぅぅぅぅぅぅぅ。

*1:別にこの文字列は表示用ではない、ハッシュのキーになっているだけ