-#define putc(x, p) (--(p)->_cnt >= 0 || ((p)->_flag & _IOLBF) &&\
- -(p)->_cnt <= (p)->_bufsiz && (x) != '\n' ?\
- (int)(*(unsigned char *)(p)->_ptr++ = (x)) :\
- _flsbuf((unsigned char)(x), p))
+#ifndef lint
+#define putc(x, p) (--(p)->_cnt >= 0 ?\
+ (int)(*(unsigned char *)(p)->_ptr++ = (x)) :\
+ (((p)->_flag & _IOLBF) && -(p)->_cnt < (p)->_bufsiz ?\
+ ((*(p)->_ptr = (x)) != '\n' ?\
+ (int)(*(unsigned char *)(p)->_ptr++) :\
+ _flsbuf(*(unsigned char *)(p)->_ptr, p)) :\
+ _flsbuf((unsigned char)(x), p)))
+#endif not lint