Index: apps/plugins/viewers.config =================================================================== --- apps/plugins/viewers.config (revision 17635) +++ apps/plugins/viewers.config (working copy) @@ -9,6 +9,13 @@ rvf,viewers/video,4 mp3,viewers/vbrfix,5 m3u,viewers/search,- +m3u,viewers/viewer,1 +m3u,apps/text_editor,2 +m3u,viewers/sort,- +m3u8,viewers/search,- +m3u8,viewers/viewer,1 +m3u8,apps/text_editor,2 +m3u8,viewers/sort,- txt,viewers/sort,- gb,viewers/rockboy,6 gbc,viewers/rockboy,6 @@ -18,8 +25,17 @@ rmi,viewers/midiplay,7 rsp,viewers/searchengine,8 sok,games/sokoban,1 +sok,viewers/viewer,1 +sok,apps/text_editor,2 +sok,viewers/sort,- pgn,games/chessbox,1 +pgn,viewers/viewer,1 +pgn,apps/text_editor,2 +pgn,viewers/sort,- ss,games/sudoku,1 +ss,viewers/viewer,1 +ss,apps/text_editor,2 +ss,viewers/sort,- wav,viewers/wav2wv,- wav,viewers/mp3_encoder,- wav,viewers/wavplay,9 @@ -36,8 +52,25 @@ sna,viewers/zxbox,12 tzx,viewers/zxbox,12 z80,viewers/zxbox,12 +cfg,viewers/viewer,1 +cfg,apps/text_editor,2 +wps,viewers/viewer,1 +wps,apps/text_editor,2 +rwps,viewers/viewer,1 +rwps,apps/text_editor,2 +fmr,viewers/viewer,1 +fmr,apps/text_editor,2 +kbd,viewers/viewer,1 +kbd,apps/text_editor,2 +bmark,viewers/viewer,1 +bmark,apps/text_editor,2 +cue,viewers/viewer,1 +cue,apps/text_editor,2 *,viewers/properties,- colours,apps/text_editor,11 ssg,games/superdom,- link,viewers/shortcuts_view,- +link,viewers/viewer,1 +link,apps/text_editor,2 +link,viewers/sort,- *,viewers/shortcuts_append,- Index: apps/filetypes.c =================================================================== --- apps/filetypes.c (revision 17635) +++ apps/filetypes.c (working copy) @@ -269,6 +269,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; @@ -338,11 +347,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