diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-06-03 17:03:22 +0200 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@intel.com> | 2017-06-05 10:07:00 -0700 |
commit | ecab65b35c3c22af6a503486022ad8b85ccd1cad (patch) | |
tree | d4ab2baf279958a4a4e525fe4c3cbf49ed03b180 | |
parent | df492f5ca3dc4d37323ee9e14fd4564e34264713 (diff) | |
download | kmod-ecab65b35c3c22af6a503486022ad8b85ccd1cad.tar.gz kmod-ecab65b35c3c22af6a503486022ad8b85ccd1cad.zip |
shared/util.c: assert_cc() can only be used inside functions
shared/macro.h has two versions of assert_cc, one that uses gcc
_Static_assert(), which requires recent enough gcc versions, and one
that uses a fake array to trigger a build error. The latter can only
work inside functions, so assert_cc() should only be used inside
functions.
Fixes the following build failure when building kmod with old gcc
versions such as gcc 4.3.x:
shared/util.c:52: error: expected identifier or '(' before 'do'
shared/util.c:52: error: expected identifier or '(' before 'while'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r-- | shared/util.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/shared/util.c b/shared/util.c index 9de080a..fd2028d 100644 --- a/shared/util.c +++ b/shared/util.c @@ -49,8 +49,6 @@ static const struct kmod_ext { { } }; -assert_cc(EAGAIN == EWOULDBLOCK); - /* string handling functions and memory allocations */ /* ************************************************************************ */ @@ -201,6 +199,8 @@ ssize_t read_str_safe(int fd, char *buf, size_t buflen) size_t todo = buflen - 1; size_t done = 0; + assert_cc(EAGAIN == EWOULDBLOCK); + do { ssize_t r = read(fd, buf + done, todo); @@ -226,6 +226,8 @@ ssize_t write_str_safe(int fd, const char *buf, size_t buflen) size_t todo = buflen; size_t done = 0; + assert_cc(EAGAIN == EWOULDBLOCK); + do { ssize_t r = write(fd, buf + done, todo); |