Cygwin: fix /proc/PID/fd return value in error case
commit 2607639992
"Improve error handling in /proc/[pid]/
virtual files." changed the return value of the /proc/PID
formatting functions to return -1 instead of 0 in the error
case to allow a filesize of 0.
The patch neglected to change this behaviour for /proc/PID/fd
content. This patch fixes that.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
86817773c5
commit
e118a605e2
|
@ -389,13 +389,13 @@ format_process_fd (void *data, char *&destbuf)
|
||||||
if (fd < 0 || e == fdp || (*e != '/' && *e != '\0'))
|
if (fd < 0 || e == fdp || (*e != '/' && *e != '\0'))
|
||||||
{
|
{
|
||||||
set_errno (ENOENT);
|
set_errno (ENOENT);
|
||||||
return 0;
|
return -1;
|
||||||
}
|
}
|
||||||
destbuf = p ? p->fd (fd, fs) : NULL;
|
destbuf = p ? p->fd (fd, fs) : NULL;
|
||||||
if (!destbuf || !*destbuf)
|
if (!destbuf || !*destbuf)
|
||||||
{
|
{
|
||||||
set_errno (ENOENT);
|
set_errno (ENOENT);
|
||||||
return 0;
|
return -1;
|
||||||
}
|
}
|
||||||
if (*e == '\0')
|
if (*e == '\0')
|
||||||
*((process_fd_t *) data)->fd_type = virt_fdsymlink;
|
*((process_fd_t *) data)->fd_type = virt_fdsymlink;
|
||||||
|
|
Loading…
Reference in New Issue