int inchi_fgetsLfTab( char *szLine, int len, FILE *f ) { int length; char *p; char szSkip[256]; int bTooLongLine = 0; do { p = inchi_fgetsTab( szLine, len-1, f ); if ( !p ) { return -1; /* end of file or cannot read */ } szLine[len-1] = '\0'; /* bTooLongLine = !strchr( szLine, '\n' ); */ bTooLongLine = ( !p && ((int)strlen(szLine)) == len-2 ); LtrimRtrim( szLine, &length ); } while ( !length ); if ( bTooLongLine ) { while ( p = inchi_fgetsTab( szSkip, sizeof(szSkip)-1, f ) ) { szSkip[sizeof(szSkip)-1] = '\0'; if ( strchr( szSkip, '\n' ) ) break; } } return length; }
int inchi_fgetsLfTab( char *szLine, int len, FILE *f ) { int length; char *p; char szSkip[256]; int bTooLongLine = 0; do { p = inchi_fgetsTab( szLine, len, f ); if ( !p ) { return -1; /* end of file or cannot read */ } bTooLongLine = ( (int)strlen(szLine) == len-1 && szLine[len-2] != '\n' ); lrtrim( szLine, &length ); } while ( !length ); if ( bTooLongLine ) { while ( p = inchi_fgetsTab( szSkip, sizeof(szSkip)-1, f ) ) { if ( strchr( szSkip, '\n' ) ) break; } } return length; }