g_return_val_if_fail(!EMPTY(utf8_filename), FALSE);
if (doc->file_name != NULL) {
if (rename_file)
{
document_rename_file(doc, utf8_filename);
}
if (remove_orig_file && strcmp(utf8_filename, doc->file_name) != 0)
Almost every part of the code treats it as UTF-8 (and converts it sometimes to current locale with `utils_get_locale_from_utf8`; e.g. `gchar *old_locale_filename = utils_get_locale_from_utf8(doc->file_name);`). Or am I wrong?