OSDN Git Service

android/hal-audio: Fix errno handling in set_blocking
authorSzymon Janc <szymon.janc@tieto.com>
Sat, 1 Mar 2014 13:11:55 +0000 (14:11 +0100)
committerSzymon Janc <szymon.janc@tieto.com>
Sat, 1 Mar 2014 16:22:23 +0000 (17:22 +0100)
android/hal-audio.c

index e1f3f0d..f6f1e7d 100644 (file)
@@ -1266,13 +1266,15 @@ static int set_blocking(int fd)
 
        flags = fcntl(fd, F_GETFL, 0);
        if (flags < 0) {
-               error("fcntl(F_GETFL): %s (%d)", strerror(errno), errno);
-               return -errno;
+               int err = -errno;
+               error("fcntl(F_GETFL): %s (%d)", strerror(-err), -err);
+               return err;
        }
 
        if (fcntl(fd, F_SETFL, flags & ~O_NONBLOCK) < 0) {
-               error("fcntl(F_SETFL): %s (%d)", strerror(errno), errno);
-               return -errno;
+               int err = -errno;
+               error("fcntl(F_SETFL): %s (%d)", strerror(-err), -err);
+               return err;
        }
 
        return 0;