mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-27 05:13:10 +00:00
Check that there are a sufficient number of arguments for fish_pager
darcs-hash:20051012070351-ac50b-b1f72df88819e58542b00ba35cc5d75e125b9655.gz
This commit is contained in:
parent
93293b3557
commit
a3b8b0ab4b
1 changed files with 46 additions and 42 deletions
88
fish_pager.c
88
fish_pager.c
|
@ -57,7 +57,7 @@ enum
|
||||||
HIGHLIGHT_PAGER_DESCRIPTION,
|
HIGHLIGHT_PAGER_DESCRIPTION,
|
||||||
HIGHLIGHT_PAGER_PROGRESS
|
HIGHLIGHT_PAGER_PROGRESS
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This struct should be continually updated by signals as the term
|
This struct should be continually updated by signals as the term
|
||||||
|
@ -654,8 +654,8 @@ static int completion_try_print( int cols,
|
||||||
is_quoted,
|
is_quoted,
|
||||||
l);
|
l);
|
||||||
/*
|
/*
|
||||||
List does not fit on screen. Print one screenfull and
|
List does not fit on screen. Print one screenfull and
|
||||||
leave a scrollable interface
|
leave a scrollable interface
|
||||||
*/
|
*/
|
||||||
while(do_loop)
|
while(do_loop)
|
||||||
{
|
{
|
||||||
|
@ -944,49 +944,53 @@ int main( int argc, char **argv )
|
||||||
array_list_t comp;
|
array_list_t comp;
|
||||||
wchar_t *prefix;
|
wchar_t *prefix;
|
||||||
|
|
||||||
|
|
||||||
init();
|
|
||||||
|
|
||||||
|
|
||||||
prefix = str2wcs( argv[2] );
|
|
||||||
is_quoted = strcmp( "1", argv[1] )==0;
|
|
||||||
|
|
||||||
debug( 3, L"prefix is '%ls'", prefix );
|
|
||||||
|
|
||||||
al_init( &comp );
|
|
||||||
|
|
||||||
for( i=3; i<argc; i++ )
|
|
||||||
{
|
|
||||||
al_push( &comp, str2wcs( argv[i] ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
mangle_descriptions( &comp );
|
|
||||||
|
|
||||||
for( i = 6; i>0; i-- )
|
|
||||||
{
|
|
||||||
switch( completion_try_print( i, prefix, is_quoted, &comp ) )
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
i=0;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
i=7;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
init();
|
||||||
|
if( argc < 3 )
|
||||||
|
{
|
||||||
|
debug( 0, L"Insufficient arguments" );
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
prefix = str2wcs( argv[2] );
|
||||||
|
is_quoted = strcmp( "1", argv[1] )==0;
|
||||||
|
|
||||||
al_foreach( &comp, (void(*)(const void *))&free );
|
debug( 3, L"prefix is '%ls'", prefix );
|
||||||
al_destroy( &comp );
|
|
||||||
free(prefix );
|
|
||||||
|
|
||||||
fwprintf( out_file, L"%ls", (wchar_t *)out_buff.buff );
|
|
||||||
if( is_ca_mode )
|
|
||||||
writembs(exit_ca_mode);
|
|
||||||
|
|
||||||
|
|
||||||
|
al_init( &comp );
|
||||||
|
|
||||||
|
for( i=3; i<argc; i++ )
|
||||||
|
{
|
||||||
|
al_push( &comp, str2wcs( argv[i] ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
mangle_descriptions( &comp );
|
||||||
|
|
||||||
|
for( i = 6; i>0; i-- )
|
||||||
|
{
|
||||||
|
switch( completion_try_print( i, prefix, is_quoted, &comp ) )
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
i=0;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
i=7;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
al_foreach( &comp, (void(*)(const void *))&free );
|
||||||
|
al_destroy( &comp );
|
||||||
|
free(prefix );
|
||||||
|
|
||||||
|
fwprintf( out_file, L"%ls", (wchar_t *)out_buff.buff );
|
||||||
|
if( is_ca_mode )
|
||||||
|
writembs(exit_ca_mode);
|
||||||
|
}
|
||||||
|
|
||||||
destroy();
|
destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue