07c1b4dc67
This is a workaround to make gcc's behavior consistent, since gcc can transform: printf("%s\n", s) -> puts(s) fprintf(fp, "%s", s) -> fputs(s, fp) as an optimization. I've left the _DIAGASSERT's that make sure that s != NULL alone because we should really still abort in a debugging environment.