c - 尝试阅读 cp.c 的代码但不理解
问题描述
我尝试在 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 .
推荐阅读
- r - 找到一个向量的前 n 个元素,其中包含另一个向量的所有元素
- spring-boot - 具有多模块 Maven 应用程序的 spring 本机生成
- javascript - 当我尝试从 gmail 向 mailinator 收件人发送电子邮件时。我只能向前 15 个 mailgun 收件人发送邮件
- sql - 如何使用相同的 sql 语句从两个表中检索数据?
- jquery - Struts2标准JQuery库升级
- android - Camera 2 API TextureView 正在全屏拉伸
- node.js - Google 访问令牌使用 OAuth 2.0 API 进行验证
- php - 如何在 CSV 上导出 wordpress 用户 slug?
- android - Jetpack Compose 的 TextField 中的多种颜色
- debian - 我可以向 debian/control 添加一个 Suggests 字段,并为 Build-Depends 中已有的包提供更新版本的推荐吗?