我尝试在FreeBSD中读取cp命令的代码。
我正在阅读FreeBSD的cp.c。
我不明白下面的代码。
if (to.p_path == to.p_end) {
*to.p_end++ = '.';
*to.p_end = 0;
}
此代码的目的是什么?
什么会影响任何情况?
原始源代码在那里。
https://svnweb.freebsd.org/base/release/12.0.0/bin/cp/cp.c?revision=341707&view=markup
最佳答案
基本上,这是
if o.p_path == "":
o.p_path = "."
如果我理解正确,它会使
cp /somepath/somefile
像cp /somepath/somefile .
一样工作