1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
Index: native/jni/java-net/local.c
===================================================================
RCS file: /sources/classpath/classpath/native/jni/java-net/local.c,v
retrieving revision 1.4
diff -u -r1.4 local.c
--- native/jni/java-net/local.c 17 Apr 2007 21:46:27 -0000 1.4
+++ native/jni/java-net/local.c 27 Jun 2008 13:14:40 -0000
@@ -73,27 +73,18 @@
return socket (PF_UNIX, stream ? SOCK_STREAM : SOCK_DGRAM, 0);
}
-static int gcc_sucks = 0;
-
int
local_bind (int fd, const char *addr)
{
struct sockaddr_un saddr;
- /* For some reason, GCC 4.0.1 on Darwin/x86 MODIFIES the `addr'
- pointer in the CALLER's STACK FRAME after calling this function,
- but if we add this statement below, it doesn't! */
- if (gcc_sucks)
- fprintf (stderr, "bind %p\n", addr);
-
- if (strlen (addr) > sizeof (saddr.sun_path))
+ if (strlen (addr) >= sizeof (saddr.sun_path))
{
errno = ENAMETOOLONG;
return -1;
}
- strncpy (saddr.sun_path, addr, sizeof (saddr.sun_path));
- saddr.sun_path[sizeof (saddr.sun_path)] = '\0';
+ strcpy (saddr.sun_path, addr);
saddr.sun_family = AF_LOCAL;
return bind (fd, (struct sockaddr *) &saddr, SUN_LEN (&saddr));
|