gint32
Mono_Posix_Syscall_readlink (const char *path, char *buf, mph_size_t len)
{
+ int r;
mph_return_if_size_t_overflow (len);
- return readlink (path, buf, (size_t) len);
+ r = readlink (path, buf, (size_t) len);
+ if (r >= 0 && r < len)
+ buf [r] = '\0';
+ return r;
}
gint32
}
#endif /* def HAVE_SETHOSTID */
+#ifdef HAVE_GETDOMAINNAME
gint32
Mono_Posix_Syscall_getdomainname (char *name, mph_size_t len)
{
mph_return_if_size_t_overflow (len);
return getdomainname (name, (size_t) len);
}
+#endif /* def HAVE_GETDOMAINNAME */
+#ifdef HAVE_SETDOMAINNAME
gint32
Mono_Posix_Syscall_setdomainname (const char *name, mph_size_t len)
{
mph_return_if_size_t_overflow (len);
return setdomainname (name, (size_t) len);
}
+#endif /* def HAVE_SETDOMAINNAME */
gint32
Mono_Posix_Syscall_truncate (const char *path, mph_off_t length)