我想修改/usr/src/servers/vfs/open.c 中的do_mkdir,以便在我尝试使用 mkdir 命令在终端中打印我创建的目录的绝对路径。我怎样才能实现呢?有什么想法吗?
我尝试了 getcwd,但我得到了一个未定义的引用错误。
完整路径位于do_mkdir
函数开头定义的变量 fullpath 中。访问权限也位于以下代码中列出的变量上
printf("New dir -> %s, ", fullpath);
printf( (bits & S_IRUSR) ? "r" : "-");
printf( (bits & S_IWUSR) ? "w" : "-");
printf( (bits & S_IXUSR) ? "x" : "-");
printf( (bits & S_IRGRP) ? "r" : "-");
printf( (bits & S_IWGRP) ? "w" : "-");
printf( (bits & S_IXGRP) ? "x" : "-");
printf( (bits & S_IROTH) ? "r" : "-");
printf( (bits & S_IWOTH) ? "w" : "-");
printf( (bits & S_IXOTH) ? "xn" : "-n");
将此代码放在do_mkdir
末尾的unlock_vnode(vp);
行之前,您就完成了!
Έχεις κάνει τα υπόλοιπα ερωτήματα??
我相信
简单地打印 fullpath 变量是行不通的。实际上,我对此进行了测试,它似乎只打印了创建的目录的名称。有什么线索吗?