diff --git a/wrapper.c b/wrapper.c
index 4c147d6c48c000bab636fad3edc2fe7da6670948..85f09df747637b94e0488ad65984c3f97c732034 100644 (file)
--- a/wrapper.c
+++ b/wrapper.c
while (count > 0) {
ssize_t loaded = xread(fd, p, count);
- if (loaded <= 0)
- return total ? total : loaded;
+ if (loaded < 0)
+ return -1;
+ if (loaded == 0)
+ return total;
count -= loaded;
p += loaded;
total += loaded;
if (!template[0])
template = origtemplate;
- nonrelative_template = make_nonrelative_path(template);
+ nonrelative_template = absolute_path(template);
errno = saved_errno;
die_errno("Unable to create temporary file '%s'",
nonrelative_template);
if (!template[0])
template = origtemplate;
- nonrelative_template = make_nonrelative_path(template);
+ nonrelative_template = absolute_path(template);
errno = saved_errno;
die_errno("Unable to create temporary file '%s'",
nonrelative_template);