徒然日記
2013年2月7日(木)
■ [linux][ネタ] 今日のお題: directoryはread()できるか
うーん。そう言われると途端に不安に…。ということで調べてみた。
結論: Linuxでは"Is a directory"[EISDIR]でエラー。FreeBSD(4,6,8で調べた)は普通にread()できて、directory entryを得られる。
たとえばこんなので
Linux:
$ ./opendir read failed Is a directory
FreeBSD:
$ ./opendir * ..+ fuga, moge
(terminal上で化けてる)
こんなかんじで、LinuxはEISDIRが帰ってきて、FreeBSDは(NFSとかでなければ)directory entryが書き出される。
この辺りはちゃんとmanに書いてあるっていうね… Linux, FreeBSD
数年前、仕事でBSDなOSを触ってたときは間違ってdirectoryをcatするとdirectory entryが表示されてて、Linuxでcatすると"cat: /tmp: Is a directory"と表示されるのは、Linuxのcatがdirectoryの場合はエラーになるように処理してるんだと思ってたら、そもそもEISDIRっていうのがあったんですなー
■ [tdiary] gist pluginで貼りつけたsourceの背景がケバい…
↑のsourceをgist pluginで貼りつけたわけですが、当初こんなケバい事になってました。なにこれェ…
これ、gistの埋め込みが
<table cellpadding="0" cellspacing="0" class="lines highlight">
こんなかんじでhighlight classが設定されていて、highlight plugin用にhighlight classの背景が全部黄色になるようにしてたからだった…
append-cssで
table.highlight { background-color: transparent; }を追加して、ひとまず正常な色に。