Fix a potential macro expansion problem...  isspace can be
a macro causing a double decrement...
diff --git a/coreutils/cal.c b/coreutils/cal.c
index f6578bf..3ccd3ff 100644
--- a/coreutils/cal.c
+++ b/coreutils/cal.c
@@ -372,7 +372,7 @@
 
 	for (p = s; *p; ++p)
 		continue;
-	while (p > s && isspace(*--p))
+	while (p > s && (--p, isspace(*p)))
 		continue;
 	if (p > s)
 		++p;