In alloc_pread() and kern_pread(), print errors only when DEBUG is
defined. An error is not fatal and is supposed to be handled by the caller. Obtained from: Juniper Networks, Inc.
This commit is contained in:
@@ -121,12 +121,16 @@ kern_pread(int fd, vm_offset_t dest, size_t len, off_t off)
|
||||
ssize_t nread;
|
||||
|
||||
if (lseek(fd, off, SEEK_SET) == -1) {
|
||||
#ifdef DEBUG
|
||||
printf("\nlseek failed\n");
|
||||
#endif
|
||||
return (-1);
|
||||
}
|
||||
nread = archsw.arch_readin(fd, dest, len);
|
||||
if (nread != len) {
|
||||
#ifdef DEBUG
|
||||
printf("\nreadin failed\n");
|
||||
#endif
|
||||
return (-1);
|
||||
}
|
||||
return (0);
|
||||
@@ -144,17 +148,23 @@ alloc_pread(int fd, off_t off, size_t len)
|
||||
|
||||
buf = malloc(len);
|
||||
if (buf == NULL) {
|
||||
#ifdef DEBUG
|
||||
printf("\nmalloc(%d) failed\n", (int)len);
|
||||
#endif
|
||||
return (NULL);
|
||||
}
|
||||
if (lseek(fd, off, SEEK_SET) == -1) {
|
||||
#ifdef DEBUG
|
||||
printf("\nlseek failed\n");
|
||||
#endif
|
||||
free(buf);
|
||||
return (NULL);
|
||||
}
|
||||
nread = read(fd, buf, len);
|
||||
if (nread != len) {
|
||||
#ifdef DEBUG
|
||||
printf("\nread failed\n");
|
||||
#endif
|
||||
free(buf);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user