=============== idSessionLocal::ScrubSaveGameFileName Turns a bad file name into a good one or your money back =============== */
| 1889 | =============== |
| 1890 | */ |
| 1891 | void idSessionLocal::ScrubSaveGameFileName( idStr &saveFileName ) const { |
| 1892 | int i; |
| 1893 | idStr inFileName; |
| 1894 | |
| 1895 | inFileName = saveFileName; |
| 1896 | inFileName.RemoveColors(); |
| 1897 | inFileName.StripFileExtension(); |
| 1898 | |
| 1899 | saveFileName.Clear(); |
| 1900 | |
| 1901 | int len = inFileName.Length(); |
| 1902 | for ( i = 0; i < len; i++ ) { |
| 1903 | if ( strchr( "',.~!@#$%^&*()[]{}<>\\|/=?+;:-\'\"", inFileName[i] ) ) { |
| 1904 | // random junk |
| 1905 | saveFileName += '_'; |
| 1906 | } else if ( (const unsigned char)inFileName[i] >= 128 ) { |
| 1907 | // high ascii chars |
| 1908 | saveFileName += '_'; |
| 1909 | } else if ( inFileName[i] == ' ' ) { |
| 1910 | saveFileName += '_'; |
| 1911 | } else { |
| 1912 | saveFileName += inFileName[i]; |
| 1913 | } |
| 1914 | } |
| 1915 | } |
| 1916 | |
| 1917 | /* |
| 1918 | =============== |
no test coverage detected