From: Keith M. <kei...@us...> - 2007-05-17 18:45:14
|
Update of /cvsroot/mingw/catgets In directory sc8-pr-cvs16:/tmp/cvs-serv24749 Modified Files: ChangeLog mcsource.c Log Message: Correct rev 1.7 logic defect; tidy up DEBUG mode output formatting. Index: mcsource.c =================================================================== RCS file: /cvsroot/mingw/catgets/mcsource.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** mcsource.c 14 May 2007 19:55:09 -0000 1.8 --- mcsource.c 17 May 2007 18:45:08 -0000 1.9 *************** *** 207,210 **** --- 207,212 ---- # define CODESET_DECLARED codeset_decl_src, codeset_decl_lineno + dinvoke( int dtrace = 0; ) + long accumulator; int fd, input_fd, count; *************** *** 358,361 **** --- 360,364 ---- { xcount += skip; + dinvoke(( dtrace = dtrace ? dtrace : fprintf( stderr, "\n%s:%u:scan input: ", input, linenum ) )); dfputc(( c, stderr )); } *************** *** 688,692 **** size_t len = 0; status &= ~ESCAPE; ! dfprintf(( stderr, "%s:%u:", input, linenum )); switch( c ) { --- 691,695 ---- size_t len = 0; status &= ~ESCAPE; ! dfprintf(( stderr, "\n%s:%u:", input, linenum )); switch( c ) { *************** *** 782,785 **** --- 785,789 ---- { xcount += skip; + dinvoke(( dtrace = dtrace ? dtrace : fprintf( stderr, "\n%s:%u:scan input: ", input, linenum ) )); dfputc(( c, stderr )); } *************** *** 791,828 **** } } ! if( c == L'\n' ) ! { ! /* Mark the end of the current input line, ! * and schedule any pending message data from this line ! * for flushing to the message collection buffer. ! */ ! status |= NEWLINE | FLUSH; ! /* If "QUOTED" context remains active, at the end of this line, ! * then we have an implicit continuation, so force it. ! */ ! if( (status & QUOTED) == QUOTED ) ! status |= CONTINUED; ! /* Clean up the context of any pending directive processing. ! */ ! switch( status & CATEGORY ) ! { ! case DEFQUOTE: ! /* ! * If we see end of line with a DEFQUOTE pending, then ! * there was no defining character with the "quote" directive, ! * so we must disable "quote" character recognition. ! */ ! quote = L'\0'; ! dfprintf(( stderr, ": none assigned" )); ! break; ! } ! if( (status & CONTINUED) == 0 ) ! { ! status &= ~ENCODED; ! } } } --- 795,832 ---- } } + } ! if( c == L'\n' ) ! { ! /* Mark the end of the current input line, ! * and schedule flushing of any pending message data from this line ! * to the message collection buffer. ! */ ! status |= NEWLINE | FLUSH; ! /* If "QUOTED" context remains active, at the end of this line, ! * then we have an implicit continuation, so force it. ! */ ! if( (status & QUOTED) == QUOTED ) ! status |= CONTINUED; ! /* Clean up the context of any pending directive processing. ! */ ! switch( status & CATEGORY ) ! { ! case DEFQUOTE: ! /* ! * If we see end of line with a DEFQUOTE pending, then ! * there was no defining character with the "quote" directive, ! * so we must disable "quote" character recognition. ! */ ! quote = L'\0'; ! dfprintf(( stderr, ": none assigned" )); ! break; ! } ! if( (status & CONTINUED) == 0 ) ! { ! status &= ~ENCODED; } } *************** *** 835,842 **** * BEFORE we proceed to the next cycle. */ while( headroom < (xcount + ICONV_MB_LEN_MAX) ) { headroom += BUFSIZ; ! dfprintf(( stderr, "<grow allocation to %u bytes>", (unsigned)(msgloc + headroom) )); if( (messages = realloc( messages, msgloc + headroom )) == NULL ) { --- 839,847 ---- * BEFORE we proceed to the next cycle. */ + dinvoke(( dtrace = 0 )); while( headroom < (xcount + ICONV_MB_LEN_MAX) ) { headroom += BUFSIZ; ! dfprintf(( stderr, "\n%s:%u:insufficient workspace remaining; grow allocation to %u bytes", input, linenum, (unsigned)(msgloc + headroom) )); if( (messages = realloc( messages, msgloc + headroom )) == NULL ) { *************** *** 850,854 **** msgloc = mc_update_workspace( messages + msgloc, p - xcount - skip, xcount ) - messages; ! dfprintf(( stderr, "; %u byte%s free\n", headroom, headroom == 1 ? "" : "s" )); if( (status & (MSGTEXT | NEWLINE | CONTINUED)) == (MSGTEXT | NEWLINE) ) { --- 855,859 ---- msgloc = mc_update_workspace( messages + msgloc, p - xcount - skip, xcount ) - messages; ! dfprintf(( stderr, "; %u byte%s free", headroom, headroom == 1 ? "" : "s" )); if( (status & (MSGTEXT | NEWLINE | CONTINUED)) == (MSGTEXT | NEWLINE) ) { Index: ChangeLog =================================================================== RCS file: /cvsroot/mingw/catgets/ChangeLog,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ChangeLog 14 May 2007 19:55:09 -0000 1.10 --- ChangeLog 17 May 2007 18:45:07 -0000 1.11 *************** *** 1,2 **** --- 1,8 ---- + 2007-05-17 Keith Marshall <kei...@us...> + + * mcsource.c (mc_source): Adjust block nesting to correct logic + defect introduced in revision 1.7 (2007-05-14). + [DEBUG]: Tidy up formatting of some ugly debugging messages. + 2007-05-14 Keith Marshall <kei...@us...> |