natVMInetAddressPosix.cc (java::net::VMInetAddress::getLocalHostname): Allocate buffer dynamically.

2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * java/net/natVMInetAddressPosix.cc
        (java::net::VMInetAddress::getLocalHostname) [!MAXHOSTNAMELEN]:
        Allocate buffer dynamically.

From-SVN: r127305
This commit is contained in:
Samuel Thibault 2007-08-08 22:24:40 +00:00 committed by Matthias Klose
parent 0eab684046
commit ad10fdc2b7
2 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2007-08-08 Samuel Thibault <samuel.thibault@ens-lyon.org>
* java/net/natVMInetAddressPosix.cc
(java::net::VMInetAddress::getLocalHostname) [!MAXHOSTNAMELEN]:
Allocate buffer dynamically.
2007-08-04 Alfred M. Szmidt <ams@gnu.org>
* java/io/natFilePosix.cc (init_native) [!MAXPATHLEN]: Define to 0.

View File

@ -47,10 +47,25 @@ java::net::VMInetAddress::getLocalHostname ()
{
char *chars;
#ifdef HAVE_GETHOSTNAME
#ifdef MAXHOSTNAMELEN
char buffer[MAXHOSTNAMELEN];
if (gethostname (buffer, MAXHOSTNAMELEN))
return NULL;
chars = buffer;
#else
size_t size = 256;
while (1) {
char buffer[size];
if (!gethostname (buffer, size-1))
{
buffer[size-1] = 0;
return JvNewStringUTF (buffer);
}
else if (errno != ENAMETOOLONG)
return NULL;
size *= 2;
}
#endif
#elif HAVE_UNAME
struct utsname stuff;
if (uname (&stuff) != 0)