タグ

GNU catに関するyheldのブックマーク (2)

  • GNU catを読む - 全体的な流れ - ボクノス

    GNU catのソース読んでます。長くなってきたので分割しました。 ソースコードのありか オンラインで見るときはCVSを sources Index of /coreutils/coreutils/src ソースはftpからゲットせよ。 Coreutils - GNU core utilities グローバル グローバル変数static int input_descが入力ファイルディスクリプタ。超重要。 小さな関数 usageの処理はGNU定番の超絶テク。必見。 行番号の処理が凄い。写経しよう。 解析結果 -> ボクノス - GNU catを読む - next_line_num()編 main() getopt_longは定番の処理。 fstat (STDOUT_FILENO, &stat_buf)の意味がイマイチわからん。STDOUTのfstat??何が出てくる?? 調べた。cat >

    GNU catを読む - 全体的な流れ - ボクノス
  • GNU catを読む - next_line_num()編 - ボクノス

    昨日、catのソースを読んでいて謎だったnext_line_num()の処理を解析してみた。 実際の動作を確認する。 cat -nで行番号表示が出来る。 % cat -n next_line_num.c 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 #define LINE_COUNTER_BUF_LEN 20 5 static char line_buf[LINE_COUNTER_BUF_LEN] =表示桁数が固定なのが痛いが、catで行番号を表示することはまず無さそうなので、こんなもんかなぁと思う。 解析してみる。 next_line_num()を抜き出して遊んでみた結果。 解析結果はコメントに書いた。 #include <stdio.h> #include <stdlib.h> // 頭悪すぎコメント。 /* Buffer for li

    GNU catを読む - next_line_num()編 - ボクノス
  • 1