* net.cc (cygwin_getsockopt): Allow NULL optval.

* path.cc (mount_info::read_cygdrive_info_from_registry): Don't write cygdrive
to registry if it doesn't exist.
This commit is contained in:
Christopher Faylor 2001-12-03 20:09:33 +00:00
parent 6dfcb5a3a9
commit 7543995b74
3 changed files with 22 additions and 26 deletions

View File

@ -1,3 +1,10 @@
2001-12-03 Christopher Faylor <cgf@redhat.com>
* net.cc (cygwin_getsockopt): Allow NULL optval.
* path.cc (mount_info::read_cygdrive_info_from_registry): Don't write
cygdrive to registry if it doesn't exist.
2001-12-03 Christopher Faylor <cgf@redhat.com>
* path.cc (mount_info::conv_to_win32_path): Avoid returning error if

View File

@ -613,11 +613,11 @@ static int get_inet_addr (const struct sockaddr *in, int inlen,
/* exported as sendto: standards? */
extern "C" int
cygwin_sendto (int fd,
const void *buf,
int len,
unsigned int flags,
const struct sockaddr *to,
int tolen)
const void *buf,
int len,
unsigned int flags,
const struct sockaddr *to,
int tolen)
{
int res;
wsock_event wsock_evt;
@ -684,7 +684,7 @@ cygwin_recvfrom (int fd,
if (__check_null_invalid_struct_errno (buf, (unsigned) len)
|| check_null_invalid_struct_errno (fromlen)
|| __check_null_invalid_struct_errno (from, (unsigned) *fromlen)
|| (from && __check_null_invalid_struct_errno (from, (unsigned) *fromlen))
|| !h)
res = -1;
else
@ -735,7 +735,7 @@ cygwin_setsockopt (int fd,
int res = -1;
const char *name = "error";
if (!__check_invalid_read_ptr_errno (optval, optlen) && h)
if ((!optval || !__check_invalid_read_ptr_errno (optval, optlen)) && h)
{
/* For the following debug_printf */
switch (optname)
@ -799,7 +799,7 @@ cygwin_getsockopt (int fd,
int res = -1;
const char *name = "error";
if (!check_null_invalid_struct_errno (optlen)
&& !__check_null_invalid_struct_errno (optval, (unsigned) optlen)
&& (!optval || !__check_null_invalid_struct_errno (optval, (unsigned) optlen))
&& h)
{
/* For the following debug_printf */

View File

@ -1867,8 +1867,7 @@ mount_info::read_cygdrive_info_from_registry ()
/* reg_key for user path prefix in HKEY_CURRENT_USER. */
reg_key r;
if (r.get_string (CYGWIN_INFO_CYGDRIVE_PREFIX, cygdrive, sizeof (cygdrive),
"") != 0)
if (r.get_string (CYGWIN_INFO_CYGDRIVE_PREFIX, cygdrive, sizeof (cygdrive), "") != 0)
{
/* Didn't find the user path prefix so check the system path prefix. */
@ -1878,22 +1877,12 @@ mount_info::read_cygdrive_info_from_registry ()
CYGWIN_INFO_CYGWIN_MOUNT_REGISTRY_NAME,
NULL);
if (r2.get_string (CYGWIN_INFO_CYGDRIVE_PREFIX, cygdrive, sizeof (cygdrive),
"") != 0)
{
/* Didn't find either so write the default to the registry and use it.
NOTE: We are writing and using the user path prefix. */
write_cygdrive_info_to_registry (CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX,
MOUNT_AUTO);
}
else
{
/* Fetch system cygdrive_flags from registry; returns MOUNT_AUTO on
error. */
cygdrive_flags = r2.get_int (CYGWIN_INFO_CYGDRIVE_FLAGS, MOUNT_AUTO);
slashify (cygdrive, cygdrive, 1);
cygdrive_len = strlen(cygdrive);
}
if (r2.get_string (CYGWIN_INFO_CYGDRIVE_PREFIX, cygdrive,
sizeof (cygdrive), ""))
strcpy (cygdrive, CYGWIN_INFO_CYGDRIVE_DEFAULT_PREFIX);
cygdrive_flags = r2.get_int (CYGWIN_INFO_CYGDRIVE_FLAGS, MOUNT_AUTO);
slashify (cygdrive, cygdrive, 1);
cygdrive_len = strlen (cygdrive);
}
else
{