coreutils4.5.1 dirname.c源码分析3

老调重弹,每次先按代码量排序,从行数少的程序开始读,总能有所收获。比如,在dirname.c中,我发现几条:
第一、函数和括号可以用空格隔开,很奇怪。如
void
usage (int status)
在usage与(中有一个空格,我写了一个测试程序,也验证了猜想。
第二、对字符取地址,真怪异!
  static char const dot = '.';

  result = argv[1];
  len = dir_len (result);

  if (! len)
    {
      result = ˙
      len = 1;
    }

我调度过,当
./dirname  abc.c
结果是
.
./dirname  /abc.c
结果是
/
也就是如果目录为空,就用当前目录代码。但是,dot是字符变量呀,天,怎么当成字符串来使用。
还是学得不精。
对命令行解析的那个函数,也没弄懂,下次要搞明白。
 

猜你喜欢

转载自blog.csdn.net/woshiyilitongdouzi/article/details/85077991