aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrelan <relan@users.noreply.github.com>2014-06-01 20:02:48 +0000
committerrelan <relan@users.noreply.github.com>2015-08-24 08:26:16 +0300
commit770484564e0153caeb23cdeaa8a47afee4c4f1cd (patch)
tree556dba2f5508fb74593bbbbd4a4ac4d9d8b09304
parenteca4ae8fb316ad5ef7f190917bcac4accffc3301 (diff)
downloadandroid_external_exfat-770484564e0153caeb23cdeaa8a47afee4c4f1cd.tar.gz
android_external_exfat-770484564e0153caeb23cdeaa8a47afee4c4f1cd.tar.bz2
android_external_exfat-770484564e0153caeb23cdeaa8a47afee4c4f1cd.zip
Print errno on device open/close/fsync failure.
Signed-off-by: Helg Bredow <xx404@msn.com>
-rw-r--r--libexfat/io.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/libexfat/io.c b/libexfat/io.c
index 05fac61..9743c4e 100644
--- a/libexfat/io.c
+++ b/libexfat/io.c
@@ -100,7 +100,8 @@ struct exfat_dev* exfat_open(const char* spec, enum exfat_mode mode)
if (dev->fd == -1)
{
free(dev);
- exfat_error("failed to open '%s' in read-only mode", spec);
+ exfat_error("failed to open '%s' in read-only mode: %s", spec,
+ strerror(errno));
return NULL;
}
dev->mode = EXFAT_MODE_RO;
@@ -110,7 +111,8 @@ struct exfat_dev* exfat_open(const char* spec, enum exfat_mode mode)
if (dev->fd == -1)
{
free(dev);
- exfat_error("failed to open '%s' in read-write mode", spec);
+ exfat_error("failed to open '%s' in read-write mode: %s", spec,
+ strerror(errno));
return NULL;
}
dev->mode = EXFAT_MODE_RW;
@@ -130,7 +132,7 @@ struct exfat_dev* exfat_open(const char* spec, enum exfat_mode mode)
break;
}
free(dev);
- exfat_error("failed to open '%s'", spec);
+ exfat_error("failed to open '%s': %s", spec, strerror(errno));
return NULL;
}
@@ -254,7 +256,7 @@ int exfat_close(struct exfat_dev* dev)
#endif
if (close(dev->fd) != 0)
{
- exfat_error("failed to close device");
+ exfat_error("failed to close device: %s", strerror(errno));
rc = -EIO;
}
free(dev);
@@ -274,7 +276,7 @@ int exfat_fsync(struct exfat_dev* dev)
#endif
if (fsync(dev->fd) != 0)
{
- exfat_error("fsync failed");
+ exfat_error("fsync failed: %s", strerror(errno));
rc = -EIO;
}
return rc;