$NetBSD: patch-aa,v 1.3 2014/01/09 15:45:18 jperkin Exp $ cfmakeraw compatability for SunOS. --- lpstyl.c.orig 1999-03-31 09:05:21.000000000 +0000 +++ lpstyl.c @@ -443,7 +443,15 @@ int main(int argc, char **argv) struct termios t; tcgetattr(1, &t); +#ifdef __sun + t.c_iflag &= ~(IMAXBEL|IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); + t.c_oflag &= ~OPOST; + t.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); + t.c_cflag &= ~(CSIZE|PARENB); + t.c_cflag |= CS8; +#else cfmakeraw(&t); +#endif cfsetispeed(&t, B57600); cfsetospeed(&t, B57600); if(tcsetattr(1, TCSAFLUSH, &t) == -1) @@ -1015,10 +1023,13 @@ size_t readFileScanline(char *bufK, char if((i & 0x03) == 0) { /* write the output */ - *((unsigned char *)bufK)++ = cmyk & 0x000000FF; cmyk >>= 8; - *((unsigned char *)bufY)++ = cmyk & 0x000000FF; cmyk >>= 8; - *((unsigned char *)bufM)++ = cmyk & 0x000000FF; cmyk >>= 8; - *((unsigned char *)bufC)++ = cmyk & 0x000000FF; + *bufK++ = (char)(cmyk & 0x000000FF); + cmyk >>= 8; + *bufY++ = (char)(cmyk & 0x000000FF); + cmyk >>= 8; + *bufM++ = (char)(cmyk & 0x000000FF); + cmyk >>= 8; + *bufC++ = (char)(cmyk & 0x000000FF); cmyk = 0; } } @@ -1031,10 +1042,10 @@ size_t readFileScanline(char *bufK, char } /* write the final part */ - *((unsigned char *)bufK)++ = cmyk & 0x000000FF; cmyk >>= 8; - *((unsigned char *)bufY)++ = cmyk & 0x000000FF; cmyk >>= 8; - *((unsigned char *)bufM)++ = cmyk & 0x000000FF; cmyk >>= 8; - *((unsigned char *)bufC)++ = cmyk & 0x000000FF; + *bufK++ = (char)(cmyk & 0x000000FF); cmyk >>= 8; + *bufY++ = (char)(cmyk & 0x000000FF); cmyk >>= 8; + *bufM++ = (char)(cmyk & 0x000000FF); cmyk >>= 8; + *bufC++ = (char)(cmyk & 0x000000FF); } else { @@ -1327,7 +1338,7 @@ void sendEncodedData(unsigned char *buff if(verbose) { - fprintf(stderr, "%s: Sending encoded data (0x%x bytes).\n", + fprintf(stderr, "%s: Sending encoded data (0x%zx bytes).\n", ProcName, size); } begin[0] = 'G'; @@ -1827,7 +1838,8 @@ void waitStatus(int stat, int canHandleP static int inputBack = -1; size_t inputRead(void *buffer, size_t size) { - size_t result = 0, len = 0; + size_t result = 0; + ssize_t len = 0; if((inputBack != -1) && (size > result)) {