diff options
Diffstat (limited to 'xex.c')
-rw-r--r-- | xex.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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); |