一時文字列バッファを1000迄しか確保していなくて
文字数チェック時に1000以上だった場合の処理を書いてなかったんじゃね?

todoとかちゃんと記録していない個人開発でよくやるような失敗だと思う。