GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
iconv-wrappers.c
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (C) 2018-2024 The Octave Project Developers
4 //
5 // See the file COPYRIGHT.md in the top-level directory of this
6 // distribution or <https://octave.org/copyright/>.
7 //
8 // This file is part of Octave.
9 //
10 // Octave is free software: you can redistribute it and/or modify it
11 // under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // Octave is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
19 //
20 // You should have received a copy of the GNU General Public License
21 // along with Octave; see the file COPYING. If not, see
22 // <https://www.gnu.org/licenses/>.
23 //
24 ////////////////////////////////////////////////////////////////////////
25 
26 #if defined (HAVE_CONFIG_H)
27 # include "config.h"
28 #endif
29 
30 #include "iconv.h"
31 
32 #include "iconv-wrappers.h"
33 
34 void *
35 octave_iconv_open_wrapper (const char *tocode, const char *fromcode)
36 {
37  return (void *) iconv_open (tocode, fromcode);
38 }
39 
40 int
42 {
43  return iconv_close ((iconv_t) cd);
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 #else
55  octave_unused_parameter (do_one);
56  octave_unused_parameter (data);
57 #endif
58 
59  return;
60 }
61 
62 const char *
64 {
65 #if defined (HAVE_ICONV_CANONICALIZE)
66  return iconv_canonicalize (name);
67 #else
68  return name;
69 #endif
70 }
void octave_iconvlist_wrapper(int(*do_one)(unsigned int namescount, const char *const *names, void *data), void *data)
int octave_iconv_close_wrapper(void *cd)
void * octave_iconv_open_wrapper(const char *tocode, const char *fromcode)
const char * octave_iconv_canonicalize_wrapper(const char *name)