Index: gui/cfg.c =================================================================== --- gui/cfg.c (revision 29810) +++ gui/cfg.c (working copy) @@ -225,8 +225,10 @@ char c; if ( s ) { - c=s[ strlen( s ) - 1 ]; if ( c == '\n' || c == '\r' ) s[ strlen( s ) - 1 ]=0; - c=s[ strlen( s ) - 1 ]; if ( c == '\n' || c == '\r' ) s[ strlen( s ) - 1 ]=0; + if ( strlen( s ) != 0 ) + c=s[ strlen( s ) - 1 ]; if ( c == '\n' || c == '\r' ) s[ strlen( s ) - 1 ]=0; + if ( strlen( s ) != 0 ) + c=s[ strlen( s ) - 1 ]; if ( c == '\n' || c == '\r' ) s[ strlen( s ) - 1 ]=0; } return s; } Index: gui/win32/wincfg.c =================================================================== --- gui/win32/wincfg.c (revision 29810) +++ gui/win32/wincfg.c (working copy) @@ -94,12 +94,18 @@ char c; if(s) { - c = s[strlen(s) - 1]; - if ((c == '\n') || (c == '\r')) - s[strlen(s) - 1]=0; - c = s[strlen(s) - 1]; - if ((c == '\n') || (c == '\r')) - s[strlen(s) - 1]=0; + if ( strlen( s ) != 0 ) + { + c = s[strlen(s) - 1]; + if ((c == '\n') || (c == '\r')) + s[strlen(s) - 1]=0; + } + if ( strlen( s ) != 0 ) + { + c = s[strlen(s) - 1]; + if ((c == '\n') || (c == '\r')) + s[strlen(s) - 1]=0; + } } return s; } Index: gui/skin/skin.c =================================================================== --- gui/skin/skin.c (revision 29810) +++ gui/skin/skin.c (working copy) @@ -717,7 +717,9 @@ { linenumber++; + if ( strlen( tmp ) == 0 ) continue; c=tmp[ strlen( tmp ) - 1 ]; if ( c == '\n' || c == '\r' ) tmp[ strlen( tmp ) - 1 ]=0; + if ( strlen( tmp ) == 0 ) continue; c=tmp[ strlen( tmp ) - 1 ]; if ( c == '\n' || c == '\r' ) tmp[ strlen( tmp ) - 1 ]=0; for ( c=0;c<(int)strlen( tmp );c++ ) if ( tmp[c] == ';' ) Index: gui/skin/font.c =================================================================== --- gui/skin/font.c (revision 29810) +++ gui/skin/font.c (working copy) @@ -87,7 +87,9 @@ { fgets( tmp,255,f ); linenumber++; + if ( strlen( tmp ) == 0 ) continue; c=tmp[ strlen( tmp ) - 1 ]; if ( ( c == '\n' )||( c == '\r' ) ) tmp[ strlen( tmp ) - 1 ]=0; + if ( strlen( tmp ) == 0 ) continue; c=tmp[ strlen( tmp ) - 1 ]; if ( ( c == '\n' )||( c == '\r' ) ) tmp[ strlen( tmp ) - 1 ]=0; for ( c=0;c < (int)strlen( tmp );c++ ) if ( tmp[c] == ';' ) { tmp[c]=0; break; }