2010-10-17 23:50:55 +04:00
int cmd_ls ( char dir [ ] )
{
kol_struct70 k70 ;
unsigned * n ;
unsigned num_of_file ;
unsigned * t ;
unsigned type_of_file ;
2012-04-16 14:40:07 +04:00
int i , result ;
2010-10-17 23:50:55 +04:00
k70 . p00 = 1 ;
k70 . p04 = 0 ;
k70 . p08 = 0 ;
2012-04-16 14:40:07 +04:00
k70 . p12 = 10000 ;
2013-02-16 15:25:37 +04:00
k70 . p16 = ( unsigned ) malloc ( 32 + k70 . p12 * 560 ) ;
2010-10-17 23:50:55 +04:00
k70 . p20 = 0 ;
/// !!!
// <20> <> <EFBFBD> <EFBFBD> ls <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( ! strlen ( dir ) )
k70 . p21 = cur_dir ;
else
k70 . p21 = dir ;
2012-04-16 14:40:07 +04:00
result = kol_file_70 ( & k70 ) ;
if ( ! ( ( result = = 0 ) | | ( result = = 6 ) ) ) // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
2010-10-17 23:50:55 +04:00
{
2013-02-16 15:25:37 +04:00
free ( ( void * ) k70 . p16 ) ;
2010-10-17 23:50:55 +04:00
return FALSE ;
}
2013-02-16 15:25:37 +04:00
n = ( unsigned * ) ( k70 . p16 + 8 ) ;
2010-10-17 23:50:55 +04:00
num_of_file = * n ; // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
for ( i = 0 ; i < num_of_file ; i + + )
{
printf ( " %s " , k70 . p16 + 32 + 40 + ( 264 + 40 ) * i ) ;
2013-02-16 15:25:37 +04:00
t = ( unsigned * ) ( k70 . p16 + 32 + ( 264 + 40 ) * i ) ;
2010-10-17 23:50:55 +04:00
type_of_file = * t ;
if ( ( 0x10 = = ( type_of_file & 0x10 ) ) | | ( 8 = = ( type_of_file & 8 ) ) )
printf ( " / " ) ;
printf ( " \n \r " ) ;
}
2013-02-16 15:25:37 +04:00
free ( ( void * ) k70 . p16 ) ;
2010-10-17 23:50:55 +04:00
return TRUE ;
}