# HG changeset patch # User Jim Meyering # Date 1161583381 0 # Node ID 98b27acbe516144151b5f5725ddb462b473e50c6 # Parent 12b2aae279c9f04b02349bf8d3e4a11799837dce * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr, in place of snprintf. * modules/inttostr (Files): Add lib/uinttostr.c. * lib/uinttostr.c (inttostr): New file/function. * lib/inttostr.h (uinttostr): Declare. * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]). * MODULES.html.sh (Numeric conversion functions ): Add uinttostr. * modules/getaddrinfo (Depends-on): Remove snprintf. Add inttostr. diff -r 12b2aae279c9 -r 98b27acbe516 ChangeLog --- a/ChangeLog Sun Oct 22 08:21:10 2006 +0000 +++ b/ChangeLog Mon Oct 23 06:03:01 2006 +0000 @@ -1,3 +1,16 @@ +2006-10-23 Jim Meyering + + * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr, + in place of snprintf. + + * modules/inttostr (Files): Add lib/uinttostr.c. + * lib/uinttostr.c (inttostr): New file/function. + * lib/inttostr.h (uinttostr): Declare. + * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]). + * MODULES.html.sh (Numeric conversion functions ): + Add uinttostr. + * modules/getaddrinfo (Depends-on): Remove snprintf. Add inttostr. + 2006-10-21 Paul Eggert * lib/canonicalize.c (ELOOP): Define if not already defined. diff -r 12b2aae279c9 -r 98b27acbe516 MODULES.html.sh --- a/MODULES.html.sh Sun Oct 22 08:21:10 2006 +0000 +++ b/MODULES.html.sh Mon Oct 23 06:03:01 2006 +0000 @@ -1802,6 +1802,7 @@ func_begin_table func_module intprops func_module inttostr + func_module uinttostr func_module xstrtoimax func_module xstrtoumax func_end_table diff -r 12b2aae279c9 -r 98b27acbe516 lib/getaddrinfo.c --- a/lib/getaddrinfo.c Sun Oct 22 08:21:10 2006 +0000 +++ b/lib/getaddrinfo.c Mon Oct 23 06:03:01 2006 +0000 @@ -39,7 +39,7 @@ #define N_(String) String #include "inet_ntop.h" -#include "snprintf.h" +#include "intprops.h" #include "strdup.h" /* BeOS has AF_INET, but not PF_INET. */ @@ -405,10 +405,15 @@ #if HAVE_IPV6 case AF_INET6: #endif - if (snprintf (service, servicelen, "%d", - ntohs (((const struct sockaddr_in *) sa)->sin_port)) - + 1 > servicelen) - return EAI_OVERFLOW; + { + unsigned short int port + = ntohs (((const struct sockaddr_in *) sa)->sin_port); + char buf[INT_BUFSIZE_BOUND (port)]; + char const *s = uinttostr (port, buf); + if (strlen (s) + 1 > servicelen) + return EAI_OVERFLOW; + memcpy (service, s, strlen (s) + 1); + } break; } diff -r 12b2aae279c9 -r 98b27acbe516 lib/inttostr.h --- a/lib/inttostr.h Sun Oct 22 08:21:10 2006 +0000 +++ b/lib/inttostr.h Mon Oct 23 06:03:01 2006 +0000 @@ -27,3 +27,4 @@ char *offtostr (off_t, char *); char *imaxtostr (intmax_t, char *); char *umaxtostr (uintmax_t, char *); +char *uinttostr (unsigned int, char *); diff -r 12b2aae279c9 -r 98b27acbe516 lib/uinttostr.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/uinttostr.c Mon Oct 23 06:03:01 2006 +0000 @@ -0,0 +1,3 @@ +#define inttostr uinttostr +#define inttype unsigned int +#include "inttostr.c" diff -r 12b2aae279c9 -r 98b27acbe516 m4/inttostr.m4 --- a/m4/inttostr.m4 Sun Oct 22 08:21:10 2006 +0000 +++ b/m4/inttostr.m4 Mon Oct 23 06:03:01 2006 +0000 @@ -1,4 +1,4 @@ -#serial 6 +#serial 7 dnl Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -9,11 +9,13 @@ AC_LIBOBJ([imaxtostr]) AC_LIBOBJ([offtostr]) AC_LIBOBJ([umaxtostr]) + AC_LIBOBJ([uinttostr]) gl_PREREQ_INTTOSTR gl_PREREQ_IMAXTOSTR gl_PREREQ_OFFTOSTR gl_PREREQ_UMAXTOSTR + gl_PREREQ_UINTTOSTR ]) # Prerequisites of lib/inttostr.h. @@ -30,3 +32,6 @@ # Prerequisites of lib/umaxtostr.c. AC_DEFUN([gl_PREREQ_UMAXTOSTR], [:]) + +# Prerequisites of lib/uinttostr.c. +AC_DEFUN([gl_PREREQ_UINTTOSTR], [:]) diff -r 12b2aae279c9 -r 98b27acbe516 modules/getaddrinfo --- a/modules/getaddrinfo Sun Oct 22 08:21:10 2006 +0000 +++ b/modules/getaddrinfo Mon Oct 23 06:03:01 2006 +0000 @@ -9,12 +9,12 @@ Depends-on: gettext-h -snprintf +inet_ntop +inttostr socklen stdbool strdup sys_socket -inet_ntop configure.ac: gl_GETADDRINFO diff -r 12b2aae279c9 -r 98b27acbe516 modules/inttostr --- a/modules/inttostr Sun Oct 22 08:21:10 2006 +0000 +++ b/modules/inttostr Mon Oct 23 06:03:01 2006 +0000 @@ -7,6 +7,7 @@ lib/inttostr.h lib/offtostr.c lib/umaxtostr.c +lib/uinttostr.c m4/inttostr.m4 Depends-on: