Chinaunix首页 | 论坛 | 博客
  • 博客访问: 252227
  • 博文数量: 65
  • 博客积分: 2525
  • 博客等级: 少校
  • 技术积分: 740
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-01 23:46
文章分类
文章存档

2010年(13)

2009年(52)

我的朋友

分类: 系统运维

2009-05-06 19:26:01

1、
读过下面链接的文章后,按照其修改的一些问题

原文:

然后在goahead/LINUX目录下直接

 

make

修改一个危险函数消除警告

 

此时会出现如下错误

mipsel-linux-gcc -o webs -g -Wall \

-DWEBS -DUEMF -DOS="LINUX" -DLINUX -DUSER_MANAGEMENT_SUPPORT -DDIGEST_ACCESS_SUPPORT   -I..  \

        main.o libwebs.a

main.o: In function `websGetCgiCommName':

/goahead/LINUX/main.c:325: warning: the use of `tempnam' is dangerous, better use `mkstemp'

 

解决办法:

找到main.c (goahead/LINUX目录) 文件,在函数websGetCgiCommName(..)函数中

 

char_t *websGetCgiCommName()

{

        char_t  *pname1, *pname2;

              //pname1 = tempnam(NULL, T("cgi"));

        pname1 = (char_t *)mkstemp(T("cgi"));

        pname2 = bstrdup(B_L, pname1);

        free(pname1);

}

 

分析:

        如果这样修改,CGI程序将无法运行

2、

if (gethostname(host, sizeof(host)) < 0) {
  error(E_L, E_LOG, T("Can't get hostname"));
  return -1;
 }
 if ((hp = gethostbyname(host)) == NULL) {
  error(E_L, E_LOG, T("Can't get host address"));
  return -1;
 }

其中,gethostname()函数取不到主机名,使得host为none,因此gethostbyname(host)会出错,所以直接输入host,如下:

 

 

if (gethostname(host, sizeof(host)) < 0) {
  error(E_L, E_LOG, T("Can't get hostname"));
  return -1;
 }

 sprintf(host,“192.168.0.1”);
 if ((hp = gethostbyname(host)) == NULL) {
  error(E_L, E_LOG, T("Can't get host address"));
  return -1;
 }

 

阅读(2074) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~