setprogname.c

原创
2012/12/30 18:16
阅读数 450
#ifdef HAVE_CONFIG_H
#include <config.h>
RCSID("$Id: setprogname.c 15955 2005-08-23 10:19:20Z lha $");
#endif

#include "roken.h"

#ifndef HAVE___PROGNAME
extern const char *__progname;
#endif

#ifndef HAVE_SETPROGNAME
void ROKEN_LIB_FUNCTION
setprogname(const char *argv0)
{
#ifndef HAVE___PROGNAME
    const char *p;
    if(argv0 == NULL)
	return;
    //从argv0的右侧查找'/'第一次出现的地方,然后将指针指向p,
    //这里的功能是从假设带有'/'的可执行文件中获取可执行文件名。
    p = strrchr(argv0, '/');
    if(p == NULL)
	p = argv0;
    else
	p++;
    __progname = p;
#endif
}
#endif /** HAVE_SETPROGNAME */
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部