Follow-up Comment #1, bug #22282 (project freeciv): I wondered about just adding fc_strerror(fc_get_errno()) to the string.
However, on Windows, that turns into FormatMessage(GetLastError()), effectively. This isn't appropriate for errors returned by iconv, which I think sets the real errno (which is separate from GetLastError()) and thus should have the real system strerror() called on it. (I think Windows has an EILSEQ/EINVAL etc so should be able to provide useful strings for it.) Nearby we have /* TRANS: "Could not convert text from <encoding a> to <encoding b>:" * <externally translated error string>."*/ fprintf(stderr, _("Could not convert text from %s to %s: %s"), from, to, fc_strerror(fc_get_errno())); which I think will currently do the Wrong Thing on Windows (should it ever occur), so should be fixed at the same time. However, I can't test Windows builds, so I'm not confident making these changes. (I guess we probably get away with calling fc_strerror() after fopen() etc because that probably also sets the error code retrieved from GetLastError() as well as the POSIX-y errno? But I don't think the third-party iconv library will do so, or at least I've found no evidence in the source code.) _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?22282> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Freeciv-dev mailing list Freecivemail@example.com https://mail.gna.org/listinfo/freeciv-dev