kilo editorが非表示の文字のために9byteのメモリを割り当てようとする理由
kiloという1000行ほどで書かれたシンプルなエディタがあります
このコードを読んでいるのですが、551行目の意味がよくわかりません
551 row->render = malloc(row->size + tabs*8 + nonprint*9 + 1);
nonprint*9
はnon-printableなcharのために9byteも割り当てています
しかも、543行目でnonprint = 0
となっており、この行以外でnonprint
の値が操作されることはありません (551行目では常にnonprint = 0
となる)
543 int tabs = 0, nonprint = 0, j, idx;
551行目のnonprint*9
にはどのような意図があるのでしょうか?