shithub: scc

Download patch

ref: c61a84d918f0978ebb8e1abdba5e24aa1a97f916
parent: f2eaad8b7bfd3d9bd01a032b9ee1c5b2ab630207
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Tue Apr 8 18:08:11 EDT 2014

Emit warnings only when the flag is not zero

This change avoid the warning while we are developping.
Maybe could be a good idea later to remove it.

--- a/cc.h
+++ b/cc.h
@@ -20,7 +20,7 @@
 
 extern void error(const char *fmt, ...);
 extern void die(const char *fmt, ...);
-extern void warn(char flag, const char *fmt, ...);
+extern void warn(signed char flag, const char *fmt, ...);
 extern void *xmalloc(size_t size);
 extern void *xcalloc(size_t nmemb, size_t size);
 extern char *xstrdup(const char *s);
--- a/error.c
+++ b/error.c
@@ -11,18 +11,20 @@
 extern const char *filename;
 
 static void
-warn_helper(char flag, const char *fmt, va_list va)
+warn_helper(signed char flag, const char *fmt, va_list va)
 {
+	if (!flag)
+		return;
 	fprintf(stderr, "%s:%s:%u:%u: ",
 		(!flag) ? "warning" : "error", filename, linenum, columnum);
 	vfprintf(stderr, fmt, va);
 	putc('\n', stderr);
-	if (flag)
+	if (flag < 0)
 		exit(EXIT_FAILURE); /* TODO: uhmmmm */
 }
 
 void
-warn(char flag, const char *fmt, ...)
+warn(signed char flag, const char *fmt, ...)
 {
 	va_list va;
 	va_start(va, fmt);
--