当前位置:  技术问答>linux和unix

不显示删除回复显示所有回复显示星级回复显示得分回复 ubuntu10.04 安装 mysql4.0 源码出错,提示gethostbyname_r的参数数量不对

    来源: 互联网  发布时间:2016-10-04

    本文导语:  以下是mysql的源码: #if defined(HAVE_GETHOSTBYNAME_R) #if defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE) struct hostent *my_gethostbyname_r(const char *name,                    struct hostent *result, char *buffer,                  ...

以下是mysql的源码:


#if defined(HAVE_GETHOSTBYNAME_R)

#if defined(HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE)

struct hostent *my_gethostbyname_r(const char *name,
                   struct hostent *result, char *buffer,
                   int buflen, int *h_errnop)
{
  struct hostent *hp;
  DBUG_ASSERT((size_t) buflen >= sizeof(*result));
  if (gethostbyname_r(name,result, buffer, (size_t) buflen, &hp, h_errnop))
    return 0;
  return hp;
}

#elif defined(HAVE_GETHOSTBYNAME_R_RETURN_INT)

struct hostent *my_gethostbyname_r(const char *name,
                   struct hostent *result, char *buffer,
                   int buflen, int *h_errnop)
{
  if (gethostbyname_r(name,result,(struct hostent_data *) buffer) == -1)
  {
    *h_errnop= errno;
    return 0;
  }
  return result;
}

#else

/* gethostbyname_r with similar interface as gethostbyname() */

struct hostent *my_gethostbyname_r(const char *name,
                   struct hostent *result, char *buffer,
                   int buflen, int *h_errnop)
{
  struct hostent *hp;
  DBUG_ASSERT(buflen >= sizeof(struct hostent_data));
  hp= gethostbyname_r(name,result,(struct hostent_data *) buffer);
  *h_errnop= errno;
  return hp;
}
#endif /* GLIBC2_STYLE_GETHOSTBYNAME_R */




里面的gethostbyname_r 有两种类型,一种是3个参数的, 一种是5个参数的,可是我在linux下查了一下,只有5个参数的那形式,没有3个参数的形式。 这个是怎么回事啊?

|
mysql的代码这么写,是为了兼容不同的操作系统。

AIX的gethostbyname_r就是三个参数
       #include netdb.h>
       int gethostbyname_r(Name, Htent, Ht_data)
       const char *Name, struct hostent *Htent, struct hostent_data *Ht_data;

    
 
 

您可能感兴趣的文章:

  • 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 关于Android平台:手机马达驱动提供给android的接口有哪些?
  • 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 因无意删除一些文件,ubuntu系统无法启动,请求高手远程帮助
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 集群服务器下相同文件夹下文件同时更新[问题点数:100分]
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 ubuntu 安装mysql源码失败,好像是没有找到hostent_data的定义。急~~~~~~~~~~
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 诚心请教Linux一道面试题(shell编程)
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 gdb调试无法定位段错误 求救
  • 请教,帖子回复的显示问题
  • 回复时左边小图标为何不能显示?多谢。
  • 不显示删除回复显示所有回复显示星级回复显示得分回复 父子进程间通信:1:共享内存2:信号量:父进程里请求信号量错误,高手帮忙
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何在windows下的DOS窗口中显示utf-8字符(CMD命令提示符终端显示utf-8字符)
  • 我安装了个linux系统, 发现linux系统的显示器的显示有点小,于是我就在显示器上把大小调了一下,本想着这样会影响xp系统的显示效果,实际上没有应响xp的显示效果,这是为什么?
  • windows下cmd命令行显示UTF8字符设置(CHCP命令)
  • Mozilla 浏览器,中文字不能正常显示,显示的是一些方块,方块包含该字的编码:9D56,如何让它正常显示。
  • javascript eval换成document.write 显示原型
  • 关于在QT环境下加载gif图片的问题(可以显示,但是只有使用终端启动可执行文件才能显示,双击执行却不显示)这是为什么?
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 为什么JSP在JB6.0中显示正常(中文可以显示),但在IE6.0中无法正常显示(中文全为乱码)???
  • linux下nm命令(显示可执行文件的符号信息)介绍以及常见nm命令用法举例
  • Linux下显示器显示不正常
  • Linux下用ntpdate同步时间及date显示设置时间
  • 为什么执行的时候只是显示了2、3条记录。而1没有显示出来。如何才能把一也显示出来呢。
  • linux下free命令显示的内存使用情况分析
  • 100分寻帮助!Fedora“显示超出显示频率范围”问题
  • Linux/CentOS/fedora下vim显示的字符编码设置
  • centos系统运行脚本,显示bash进程,能否以脚本名字显示?
  • CSS控制长文本内容显示(截取的地方用省略号代替)
  • 安装ubuntu7.10,显示器显示“超出同步范围”
  • linux怎么改显示刷新度(闪的厉害)?我是RH8.0,在“系统设置”---“显示”中找不到啊
  • 怎样让一个窗口显示在显示屏的固定位置?
  • 请问用 ls 命令时,怎样将显示的结果以页为单位进行显示


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3