lab08/Interfaces/csvgetline2.c
static char *advquoted( char* p )
{
	int i, j ;

	for( i=j=0; p[j]!='\0'; ++i, ++j ) {
		if( p[j]=='"' && p[++j]!='"' ) {
				/* copy up to next separator or \0 */
			int k = strcspn( p+j, fieldsep ) ;
			memmove( p+i, p+j, k ) ;
			i += k ;
			j += k ;
			break ;
		}
		p[i] = p[j] ;
	}
	p[i] = '\0' ;
	return p + j ;
}
/* advquoted: quoted field; return pointer to next separator */
quoted field; return pointer to next separator
quoted field ; return pointer to next separator
static char *advquoted( char* p )
{
	int i, j ;
	for( i=j=0; p[j]!='\0'; ++i, ++j ) {
		if( p[j]=='"' && p[++j]!='"' ) {
			int k = strcspn( p+j, fieldsep ) ;
			memmove( p+i, p+j, k ) ;
			i += k ;
			j += k ;
			break ;
		}
		p[i] = p[j] ;
	}
	p[i] = '\0' ;
	return p + j ;
}
static char * advquoted ( char * p ) { int i , j ; for ( i = j = 0 ; p [ j ] != ' \0 ' ; ++ i , ++ j ) { if ( p [ j ] == ' ' && p [ ++ j ] != ' ' ) { int k = strcspn ( p + j , fieldsep ) ; memmove ( p + i , p + j , k ) ; i += k ; j += k ; break ; } p [ i ] = p [ j ] ; } p [ i ] = ' \0 ' ; return p + j ; }
advquoted: quoted field; return pointer to next separator
advquoted : quoted field ; return pointer to next separator
/* copy up to next separator or \0 */