aboutsummaryrefslogtreecommitdiff
path: root/xex.c
diff options
context:
space:
mode:
Diffstat (limited to 'xex.c')
-rw-r--r--xex.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/xex.c b/xex.c
index 8584286..dfdee78 100644
--- a/xex.c
+++ b/xex.c
@@ -165,18 +165,20 @@ int xex_fread_seg_data(xex_segment *seg, FILE *file) {
xex_sys_errno = errno;
if(xex_verbose) {
- fprintf(stderr, "xex_fread_seg_data(): read data:\n");
+ fprintf(stderr, "xex_fread_seg_data(): read data, len==%d, res==%d:\n", seg->len, res);
xex_print_seg_info(seg);
}
- if(res == seg->len)
+ if(res == seg->len) {
return 1;
+ }
if(ferror(file)) {
xex_errno = XERR_SYSCALL;
} else {
/* EOF or short read */
xex_errno = XERR_TRUNCATED;
+ seg->len = res;
}
return xex_check_seg(seg);