Autocheck for snprintf, and use sprintf if it is not available.

Remove declaration of h_errno, since it is supposedly declared in netdb.h.
Changes proposed by itojun.
This commit is contained in:
Martin v. Löwis 2001-07-24 06:33:08 +00:00
parent c547b46c06
commit 791bfda2b3
5 changed files with 14 additions and 10 deletions

View File

@ -544,10 +544,6 @@ get_addr(hostname, af, res, pai, port0)
struct gai_afd *gai_afd;
int i, error = 0, h_error;
char *ap;
#if !defined(INET6) && !defined(h_errno)
/* In winsock.h, h_errno is #defined as a function call. */
extern int h_errno;
#endif
top = NULL;
sentinel.ai_next = NULL;

View File

@ -1789,9 +1789,6 @@ gethost_common(struct hostent *h, struct sockaddr *addr, int alen, int af)
if (h == NULL) {
/* Let's get real error message to return */
#ifndef h_errno
extern int h_errno;
#endif
PyH_Err(h_errno);
return NULL;
}
@ -2348,7 +2345,11 @@ PySocket_getaddrinfo(PyObject *self, PyObject *args)
return NULL;
}
if (PyInt_Check(pobj)) {
#ifndef HAVE_SNPRINTF
sprintf(pbuf, "%ld", PyInt_AsLong(pobj));
#else
snprintf(pbuf, sizeof(pbuf), "%ld", PyInt_AsLong(pobj));
#endif
pptr = pbuf;
} else if (PyString_Check(pobj)) {
pptr = PyString_AsString(pobj);
@ -2419,7 +2420,11 @@ PySocket_getnameinfo(PyObject *self, PyObject *args)
n = PyArg_ParseTuple(sa, "si|ii", &hostp, &port, &flowinfo, scope_id);
if (n == 0)
goto fail;
#ifdef HAVE_SPRINTF
snprintf(pbuf, sizeof(pbuf), "%d", port);
#else
sprintf(pbuf, "%d", port);
#endif
memset(&hints, 0, sizeof(hints));
hints.ai_family = PF_UNSPEC;
error = getaddrinfo(hostp, pbuf, &hints, &res);

View File

@ -509,6 +509,9 @@
/* Define if you have the sigrelse function. */
#undef HAVE_SIGRELSE
/* Define if you have the snprintf function. */
#undef HAVE_SNPRINTF
/* Define if you have the statvfs function. */
#undef HAVE_STATVFS

4
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# From configure.in Revision: 1.232
# From configure.in Revision: 1.233
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.13
@ -4519,7 +4519,7 @@ for ac_func in alarm chown clock confstr ctermid ctermid_r execv \
nice pathconf pause plock poll pthread_init \
putenv readlink \
select setegid seteuid setgid \
setlocale setregid setreuid setsid setpgid setuid setvbuf \
setlocale setregid setreuid setsid setpgid setuid setvbuf snprintf \
sigaction siginterrupt sigrelse strftime strptime symlink sysconf \
tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \
truncate uname waitpid _getpty getpriority

View File

@ -1179,7 +1179,7 @@ AC_CHECK_FUNCS(alarm chown clock confstr ctermid ctermid_r execv \
nice pathconf pause plock poll pthread_init \
putenv readlink \
select setegid seteuid setgid \
setlocale setregid setreuid setsid setpgid setuid setvbuf \
setlocale setregid setreuid setsid setpgid setuid setvbuf snprintf \
sigaction siginterrupt sigrelse strftime strptime symlink sysconf \
tcgetpgrp tcsetpgrp tempnam timegm times tmpfile tmpnam tmpnam_r \
truncate uname waitpid _getpty getpriority)