[PATCH wayland] scanner: set errno=0 before strtol

Adrian Negreanu groleo at gmail.com
Tue Dec 17 03:48:54 PST 2013


From: Adrian Negreanu <adrian.m.negreanu at intel.com>

POSIX says to set errno=0 before calling strtol since
the return value alne cannot tell a failure.

on ubuntu armel I get:

  ../src/wayland-scanner client-header < ../../protocol/wayland.xml > wayland-client-protocol.h
  <stdin>:1188: error: invalid integer (2)

Signed-off-by: Adrian Negreanu <adrian.m.negreanu at intel.com>
---
 src/scanner.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/scanner.c b/src/scanner.c
index a030181..243ddfd 100644
--- a/src/scanner.c
+++ b/src/scanner.c
@@ -399,6 +399,7 @@ start_element(void *data, const char *element_name, const char **atts)
 			message->destructor = 0;
 
 		if (since != NULL) {
+			errno = 0;
 			version = strtol(since, &end, 0);
 			if (errno == EINVAL || end == since || *end != '\0')
 				fail(&ctx->loc,
-- 
1.8.0



More information about the wayland-devel mailing list