lsコマンドのソース(FreeBSD版)つづき_4
表示
451 /* Select a print function. */ 452 if (f_singlecol) 453 printfcn = printscol; 454 else if (f_longform) 455 printfcn = printlong; 456 else if (f_stream) 457 printfcn = printstream; 458 else 459 printfcn = printcol;
printfcnはDISPLAYのポインタを引数に持つ関数のポインタ.
DISPLAYの定義
62 typedef struct { 63 FTSENT *list; 64 u_long btotal; 65 int bcfile; 66 int entries; 67 int maxlen; 68 u_int s_block; 69 u_int s_flags; 70 u_int s_label; 71 u_int s_group; 72 u_int s_inode; 73 u_int s_nlink; 74 u_int s_size; 75 u_int s_user; 76 } DISPLAY;
printscolは一列縦で表示する
printlongはタイムスタンプ・サイズなどを表示
printstreamはカンマ区切りで表示
printcolは横いっぱいに表示