Mercurial > octave
comparison liboctave/wrappers/iconv-wrappers.c @ 32049:1c99c8f020f7
gui: Show encodings available with iconv in file editor preferences.
* liboctave/wrappers/iconv-wrappers.h, liboctave/wrappers/iconv-wrappers.c
(octave_iconvlist_wrapper, octave_iconv_canonicalize_wrapper): Add wrappers for
libiconv functions.
* liboctave/util/oct-string.h, liboctave/util/oct-string.cc
(octave::string::get_encoding_list): Add new function that returns an ordered
list of canonicalized encoding names that are available from libiconv. Use list
of encoding identifiers as fallback on platforms without the required funcions.
* libgui/src/gui-settings.cc, libgui/src/gui-settings.h
(octave::gui_settings::get_codecs): Remove function.
(octave::gui_settings::combo_encoding): Show list of encoding names that are
actually available to the interpreter instead of a list of encodings available
in Qt.
* libgui/src/qt-interpreter-events.cc
(octave::qt_interpreter_events::gui_preference_adjust): Remove logic for mapping
between Qt encoding names and iconv encoding names.
* libgui/src/settings-dialog.cc: Remove unused header.
* m4/acinclude.m4 (OCTAVE_CHECK_ICONVLIST, OCTAVE_CHECK_ICONV_CANONICALIZE):
Add checks for functions from libiconv that are not available on all platforms.
* configure.ac: Call new functions.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sat, 22 Apr 2023 19:01:35 +0200 |
parents | 8d30584b7525 |
children | c409e2eeb9c7 |
comparison
equal
deleted
inserted
replaced
32048:61db3c9377fb | 32049:1c99c8f020f7 |
---|---|
40 int | 40 int |
41 octave_iconv_close_wrapper (void *cd) | 41 octave_iconv_close_wrapper (void *cd) |
42 { | 42 { |
43 return iconv_close ((iconv_t) cd); | 43 return iconv_close ((iconv_t) cd); |
44 } | 44 } |
45 | |
46 void | |
47 octave_iconvlist_wrapper (int (*do_one) (unsigned int namescount, | |
48 const char * const *names, | |
49 void *data), | |
50 void *data) | |
51 { | |
52 #if defined (HAVE_ICONVLIST) | |
53 iconvlist (do_one, data); | |
54 #endif | |
55 | |
56 return; | |
57 } | |
58 | |
59 const char * | |
60 octave_iconv_canonicalize_wrapper (const char *name) | |
61 { | |
62 #if defined (HAVE_ICONV_CANONICALIZE) | |
63 return iconv_canonicalize (name); | |
64 #else | |
65 return name; | |
66 #endif | |
67 } |