[Aptitude-svn-commit] r3569 - in branches/aptitude-0.3/aptitude: . src
Daniel Burrows
dburrows@costa.debian.org
Sat, 02 Jul 2005 18:55:12 +0000
Author: dburrows
Date: Sat Jul 2 18:55:09 2005
New Revision: 3569
Modified:
branches/aptitude-0.3/aptitude/ChangeLog
branches/aptitude-0.3/aptitude/src/main.cc
Log:
Add default transcoding error handlers.
Modified: branches/aptitude-0.3/aptitude/ChangeLog
==============================================================================
--- branches/aptitude-0.3/aptitude/ChangeLog (original)
+++ branches/aptitude-0.3/aptitude/ChangeLog Sat Jul 2 18:55:09 2005
@@ -1,5 +1,10 @@
2005-07-02 Daniel Burrows <dburrows@debian.org>
+ * src/main.cc:
+
+ Add default transcoding error handlers that push an error on the
+ apt error stack.
+
* src/vs_progress.cc:
Update the core progress bar for wide characters.
Modified: branches/aptitude-0.3/aptitude/src/main.cc
==============================================================================
--- branches/aptitude-0.3/aptitude/src/main.cc (original)
+++ branches/aptitude-0.3/aptitude/src/main.cc Sat Jul 2 18:55:09 2005
@@ -36,6 +36,7 @@
#include <generic/config_signal.h>
#include <vscreen/config/keybindings.h>
+#include <vscreen/transcode.h>
#include <vscreen/vscreen.h>
#include <vscreen/vs_util.h>
@@ -64,6 +65,25 @@
#include "pkg_grouppolicy.h"
#include "pkg_view.h"
+/** Handles a coding error using the apt error mechanism. */
+std::wstring handle_mbtow_error(int error,
+ const std::wstring &partial,
+ const std::string &input)
+{
+ _error->Errno("iconv", _("Can't decode multibyte string after \"%ls\""),
+ partial.c_str());
+ return partial;
+}
+
+std::string handle_wtomb_error(int error,
+ const std::string &partial,
+ const std::wstring &input)
+{
+ _error->Errno("iconv", _("Can't decode wide-character string after \"%s\""),
+ partial.c_str());
+ return partial;
+}
+
static void show_version()
{
printf(_("%s %s compiled at %s %s\n"),
@@ -164,6 +184,9 @@
{
srandom(time(0));
+ transcode_mbtow_err=handle_mbtow_error;
+ transcode_wtomb_err=handle_wtomb_error;
+
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);