Changeset 9796
Legend:
- Unmodified
- Added
- Removed
-
trunk/gtk/main.c
r9759 r9796 443 443 } 444 444 445 static GSList * 446 checkfilenames( int argc, char **argv ) 447 { 448 int i; 449 GSList * ret = NULL; 450 char * pwd = g_get_current_dir( ); 451 452 for( i=0; i<argc; ++i ) 453 { 454 if( gtr_is_supported_url( argv[i] ) || gtr_is_magnet_link( argv[i] ) ) 455 { 456 ret = g_slist_prepend( ret, g_strdup( argv[i] ) ); 457 } 458 else /* local file */ 459 { 460 char * filename = g_path_is_absolute( argv[i] ) 461 ? g_strdup ( argv[i] ) 462 : g_build_filename( pwd, argv[i], NULL ); 463 464 if( g_file_test( filename, G_FILE_TEST_EXISTS ) ) 465 ret = g_slist_prepend( ret, filename ); 466 else { 467 if( gtr_is_hex_hashcode( argv[i] ) ) 468 ret = g_slist_prepend( ret, g_strdup_printf( "magnet:?xt=urn:btih:%s", argv[i] ) ); 469 g_free( filename ); 470 } 471 } 472 } 473 474 g_free( pwd ); 475 return g_slist_reverse( ret ); 476 } 477 445 478 int 446 479 main( int argc, char ** argv ) -
trunk/gtk/util.c
r9682 r9796 351 351 352 352 return TRUE; 353 }354 355 GSList *356 checkfilenames( int argc, char **argv )357 {358 int i;359 GSList * ret = NULL;360 char * pwd = g_get_current_dir( );361 362 for( i=0; i<argc; ++i )363 {364 if( gtr_is_supported_url( argv[i] ) || gtr_is_magnet_link( argv[i] ) )365 {366 ret = g_slist_prepend( ret, g_strdup( argv[i] ) );367 }368 else /* local file */369 {370 char * filename = g_path_is_absolute( argv[i] )371 ? g_strdup ( argv[i] )372 : g_build_filename( pwd, argv[i], NULL );373 374 if( g_file_test( filename, G_FILE_TEST_EXISTS ) )375 ret = g_slist_prepend( ret, filename );376 else {377 if( gtr_is_hex_hashcode( argv[i] ) )378 ret = g_slist_prepend( ret, g_strdup_printf( "magnet:?xt=urn:btih:%s", argv[i] ) );379 g_free( filename );380 }381 }382 }383 384 g_free( pwd );385 return g_slist_reverse( ret );386 353 } 387 354 -
trunk/gtk/util.h
r9671 r9796 62 62 /* decodes a string that has been urlencoded */ 63 63 char * decode_uri( const char * uri ); 64 65 /* return a list of cleaned-up paths, with invalid directories removed */66 GSList * checkfilenames( int argc, char ** argv );67 64 68 65 /***
Note: See TracChangeset
for help on using the changeset viewer.