Index: apps/plugins/viewers.config =================================================================== --- apps/plugins/viewers.config (revision 27935) +++ apps/plugins/viewers.config (working copy) @@ -1,70 +1,116 @@ -wav,viewers/test_codec,- +*,apps/md5sum,- +*,viewers/properties,- +*,viewers/shortcuts_append,- +*,viewers/sort,- +bmp,apps/rockpaint,11 +bmp,games/sliding_puzzle,11 +bmp,viewers/bmp,2 +bmp,viewers/sort,- bmp,viewers/test_greylib_bitmap_scale,- -jpeg,viewers/test_core_jpeg,- +cells,games/rocklife,- +cfg,apps/text_editor,2 +cfg,viewers/theme_remove,- +cfg,viewers/viewer,1 +ch8,viewers/chip8,0 +colours,apps/text_editor,11 +cue,apps/text_editor,2 +cue,viewers/sort,- +cue,viewers/viewer,1 +fmr,apps/text_editor,2 +fmr,viewers/sort,- +fmr,viewers/viewer,1 +gb,viewers/rockboy,6 +gbc,viewers/rockboy,6 +ipod,viewers/crypt_firmware,- +ipodx,viewers/crypt_firmware,- +iriver,viewers/iriver_flash,3 +jpe,viewers/bench_mem_jpeg,- +jpe,viewers/jpeg,2 +jpe,viewers/sort,- jpe,viewers/test_core_jpeg,- -jpg,viewers/test_core_jpeg,- -jpeg,viewers/test_mem_jpeg,- jpe,viewers/test_mem_jpeg,- -jpg,viewers/test_mem_jpeg,- jpeg,viewers/bench_mem_jpeg,- -jpe,viewers/bench_mem_jpeg,- +jpeg,viewers/jpeg,2 +jpeg,viewers/sort,- +jpeg,viewers/test_core_jpeg,- +jpeg,viewers/test_mem_jpeg,- jpg,viewers/bench_mem_jpeg,- -ch8,viewers/chip8,0 -txt,viewers/text_viewer,1 -nfo,viewers/text_viewer,1 -txt,apps/text_editor,2 -bmp,viewers/bmp,2 jpg,viewers/jpeg,2 -jpe,viewers/jpeg,2 -jpeg,viewers/jpeg,2 -png,viewers/png,2 -ucl,viewers/rockbox_flash,3 -rvf,viewers/video,4 -mp3,viewers/vbrfix,5 -m3u,viewers/search,- -txt,viewers/sort,- +jpg,viewers/sort,- +jpg,viewers/test_core_jpeg,- +jpg,viewers/test_mem_jpeg,- +kbd,apps/text_editor,2 +kbd,viewers/viewer,1 +link,apps/text_editor,2 +link,viewers/shortcuts_view,- +link,viewers/sort,- +link,viewers/viewer,1 +list,apps/text_editor,2 +list,viewers/shopper,1 +list,viewers/sort,- lrc,apps/lrcplayer,1 lrc8,apps/lrcplayer,1 -snc,apps/lrcplayer,1 -gb,viewers/rockboy,6 -gbc,viewers/rockboy,6 -sgb,viewers/rockboy,6 +lua,viewers/lua,- +m2v,viewers/mpegplayer,4 +m3u,apps/text_editor,2 m3u,viewers/iriverify,- +m3u,viewers/search,- +m3u,viewers/sort,- +m3u,viewers/viewer,1 +m3u8,apps/text_editor,2 +m3u8,viewers/search,- +m3u8,viewers/sort,- +m3u8,viewers/viewer,1 mid,viewers/midi,7 +mid,viewers/sort,- +mp3,viewers/sort,- +mp3,viewers/vbrfix,5 +mpeg,viewers/mpegplayer,4 +mpg,viewers/mpegplayer,4 +mpg,viewers/sort,- +mpv,viewers/mpegplayer,4 +mpv,viewers/sort,- +nfo,viewers/text_viewer,1 +pd,viewers/pdbox,2 +pgn,apps/text_editor,2 +pgn,games/chessbox,1 +pgn,viewers/sort,- +pgn,viewers/viewer,1 +png,viewers/png,2 +png,viewers/sort,- +ppm,viewers/ppmviewer,2 rmi,viewers/midi,7 -pd,viewers/pdbox,2 rsp,viewers/searchengine,8 +rvf,viewers/video,4 +rwps,apps/text_editor,2 +rwps,viewers/viewer,1 +sgb,viewers/rockboy,6 +sgf,games/goban,1 +sna,viewers/zxbox,12 +snc,apps/lrcplayer,1 +sok,apps/text_editor,2 sok,games/sokoban,1 -pgn,games/chessbox,1 -sgf,games/goban,1 +sok,viewers/sort,- +sok,viewers/viewer,1 +ss,apps/text_editor,2 ss,games/sudoku,1 +ss,viewers/sort,- +ss,viewers/viewer,1 +ssg,games/superdom,- +tap,viewers/zxbox,12 +txt,apps/text_editor,2 +txt,viewers/sort,- +txt,viewers/text_viewer,1 +tzx,viewers/zxbox,12 +ucl,viewers/rockbox_flash,3 +viewers/sort,- +wav,viewers/mp3_encoder,- +wav,viewers/test_codec,- wav,viewers/wav2wv,- -wav,viewers/mp3_encoder,- wav,viewers/wavplay,9 wav,viewers/wavview,10 -bmp,apps/rockpaint,11 -bmp,games/sliding_puzzle,11 -mpg,viewers/mpegplayer,4 -mpeg,viewers/mpegplayer,4 -mpv,viewers/mpegplayer,4 -m2v,viewers/mpegplayer,4 -iriver,viewers/iriver_flash,3 -tap,viewers/zxbox,12 -sna,viewers/zxbox,12 -tzx,viewers/zxbox,12 -z80,viewers/zxbox,12 -ppm,viewers/ppmviewer,2 -cfg,viewers/theme_remove,- -*,viewers/properties,- -colours,apps/text_editor,11 -ssg,games/superdom,- -cells,games/rocklife,- -link,viewers/shortcuts_view,- -*,viewers/shortcuts_append,- -*,apps/md5sum,- -lua,viewers/lua,- -ipod,viewers/crypt_firmware,- -ipodx,viewers/crypt_firmware,- +wps,apps/text_editor,2 +wps,viewers/viewer,1 z1,viewers/frotz,- z2,viewers/frotz,- z3,viewers/frotz,- @@ -73,4 +119,4 @@ z6,viewers/frotz,- z7,viewers/frotz,- z8,viewers/frotz,- -list,viewers/shopper,1 +z80,viewers/zxbox,12 Index: apps/filetypes.c =================================================================== --- apps/filetypes.c (revision 27935) +++ apps/filetypes.c (working copy) @@ -307,6 +307,15 @@ *s = '\0'; } +static char *get_extension(const char* file) +{ + char *extension = strrchr(file, '.'); + if (!extension) + return NULL; + extension++; + return (char *)extension; +} + static void read_builtin_types(void) { int count = sizeof(inbuilt_filetypes)/sizeof(*inbuilt_filetypes), i; @@ -377,11 +386,10 @@ int filetype_get_attr(const char* file) { - char *extension = strrchr(file, '.'); int i; + char *extension = get_extension(file); if (!extension) return 0; - extension++; for (i=0; i