busybox源码剖析(2)
来源:互联网 发布:c语言华氏度 编辑:程序博客网 时间:2024/06/05 01:52
pwd命令是列出当前的路径。
1 extern int pwd_main(int argc, char **argv) 2 { 3 static char *buf; 4 5 buf = xgetcwd(buf); 6 7 if (buf != NULL) { 8 puts(buf); 9 return EXIT_SUCCESS;10 }11 return EXIT_FAILURE;12 }
通过xgetcwd函数将路径保存到buf中。
char *xgetcwd (char *cwd){ char *ret; unsigned path_max; errno = 0; path_max = (unsigned) PATH_MAX; path_max += 2; /* The getcwd docs say to do this. */ if(cwd==0) cwd = xmalloc (path_max); errno = 0; while ((ret = getcwd (cwd, path_max)) == NULL && errno == ERANGE) { path_max += PATH_INCR; cwd = xrealloc (cwd, path_max); errno = 0; } if (ret == NULL) { int save_errno = errno; free (cwd); errno = save_errno; perror_msg("getcwd()"); return NULL; } return cwd;}
通过getcwd()得到当前路径。
这个命令的实现很简单。记录一下。
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- busybox源码剖析(2)
- busybox源码剖析(2)---pwd.c
- busybox源码剖析(3)
- busybox源码剖析(1)
- busybox源码剖析(1)---whoami.c
- busybox源码剖析(3)---cat.c
- Busybox源码
- STL源码剖析(2)
- CLucene源码剖析(2)
- Scintilla源码剖析2
- Qt源码剖析(2)
- busybox源码解析
- BusyBox源码结构简介
- 读STL源码剖析(2)
- 《STL源码剖析》 笔记2
- lua源码剖析2【转】
- Caffe源码剖析2-Softmax_Loss
- STL源码剖析读书笔记2
- 复杂的构造 有趣的原理
- 初学Linux及其编程1--HelloWorld
- 利用oradebug获取跟踪的trace文件的名字和路径
- uva11729 - Commando War(water)
- Jquery UI resizable 初步使用时无法拖动
- busybox源码剖析(2)
- jquery插件之拖拽删除图片
- cocos2d-x内存
- 设计模式-外观模式
- 基于异步FIFO和PLL的雷达数据采集系统
- 黑马程序员 动态数组ArrayList、List<T>
- 数据挖掘中客户分群的应用
- notify函数
- 用迭代法求x=根a