@ -780,6 +780,8 @@ parse_imap_list( imap_store_t *ctx, char **sp, parse_list_state_t *sts )
if ( sts - > callback - > atom ( ctx , NULL , bytes , AtomChunkedLiteral ) ! = LIST_OK )
if ( sts - > callback - > atom ( ctx , NULL , bytes , AtomChunkedLiteral ) ! = LIST_OK )
goto bail ;
goto bail ;
sts - > in_literal = ChunkedLiteral ;
sts - > in_literal = ChunkedLiteral ;
if ( ! bytes )
goto nobytes ;
sts - > big_literal = 1 ;
sts - > big_literal = 1 ;
get_chunked :
get_chunked :
n = 1 ;
n = 1 ;
@ -806,7 +808,7 @@ parse_imap_list( imap_store_t *ctx, char **sp, parse_list_state_t *sts )
} else if ( DFlags & DEBUG_NET_ALL ) {
} else if ( DFlags & DEBUG_NET_ALL ) {
printf ( " %s========= \n " , ctx - > label ) ;
printf ( " %s========= \n " , ctx - > label ) ;
fwrite ( p , n , 1 , stdout ) ;
fwrite ( p , n , 1 , stdout ) ;
if ( p [ n - 1 ] ! = ' \n ' )
if ( n & & p [ n - 1 ] ! = ' \n ' )
fputs ( " \n (no-nl) " , stdout ) ;
fputs ( " \n (no-nl) " , stdout ) ;
printf ( " %s========= \n " , ctx - > label ) ;
printf ( " %s========= \n " , ctx - > label ) ;
} else {
} else {
@ -819,6 +821,7 @@ parse_imap_list( imap_store_t *ctx, char **sp, parse_list_state_t *sts )
bytes - = n ;
bytes - = n ;
if ( bytes > 0 )
if ( bytes > 0 )
goto postpone ;
goto postpone ;
nobytes :
if ( sts - > in_literal = = ChunkedLiteral & & sts - > callback - > atom ( ctx , NULL , 0 , AtomLiteral ) ! = LIST_OK )
if ( sts - > in_literal = = ChunkedLiteral & & sts - > callback - > atom ( ctx , NULL , 0 , AtomLiteral ) ! = LIST_OK )
goto bail ;
goto bail ;
getline :
getline :