} while ((c != '\n') && (c != EOF));
if (c == '\n' && lastc == '\\') lastc = '\0'; } while (((c != '\n') || (lastc == '\0')) && (c != EOF)); if (lastc != '\0' && lastc != '\n') Buf_AddByte (buf, (Byte) lastc);
ParseSkipLine(skip)    int skip; 		/* Skip lines that don't start with . */{    char *line;    int c, lastc = '\0', lineLength;    Buffer buf;    c = ParseReadc();    if (skip) {	/*	 * Skip lines until get to one that begins with a	 * special char.	 */	while ((c != '.') && (c != EOF)) {	    while (((c != '\n') || (lastc == '\\')) && (c != EOF))	    {		/*		 * Advance to next unescaped newline		 */		if ((lastc = c) == '\n') {		    lineno++;		}		c = ParseReadc();	    }	    lineno++;	    	    lastc = c;	    c = ParseReadc ();	}    }        if (c == EOF) {	Parse_Error (PARSE_FATAL, "Unclosed conditional/for loop");	return ((char *)NULL);    }        /*     * Read the entire line into buf     */    buf = Buf_Init (MAKE_BSIZE);    if (c != '\n') {	do {	    Buf_AddByte (buf, (Byte)c);	    c = ParseReadc();	} while ((c != '\n') && (c != EOF));    }    lineno++;        Buf_AddByte (buf, (Byte)'\0');    line = (char *)Buf_GetAll (buf, &lineLength);    Buf_Destroy (buf, FALSE);    return line;}