Mercurial > hg > octave-kai > gnulib-hg
annotate lib/xstriconv.c @ 17429:88b6febaed97
tests: port large-fd POSIX spawn tests to OS X
Problem reported by Daiki Ueno in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
* tests/test-posix_spawn_file_actions_addclose.c:
* tests/test-posix_spawn_file_actions_adddup2.c:
* tests/test-posix_spawn_file_actions_addopen.c:
Include <limits.h>, for OPEN_MAX, if available.
(big_fd): New static function.
(main): Use it.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Tue, 11 Jun 2013 00:10:21 -0700 |
parents | e542fd46ad6f |
children |
rev | line source |
---|---|
7262 | 1 /* Charset conversion with out-of-memory checking. |
17249
e542fd46ad6f
maint: update all copyright year number ranges
Eric Blake <eblake@redhat.com>
parents:
16201
diff
changeset
|
2 Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc. |
7262 | 3 Written by Bruno Haible. |
4 | |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
7304
diff
changeset
|
5 This program is free software: you can redistribute it and/or modify |
7262 | 6 it under the terms of the GNU General Public License as published by |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
7304
diff
changeset
|
7 the Free Software Foundation; either version 3 of the License, or |
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
7304
diff
changeset
|
8 (at your option) any later version. |
7262 | 9 |
10 This program is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
13 GNU General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU General Public License | |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
7304
diff
changeset
|
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
7262 | 17 |
7304
1c4ed7637c24
Include <config.h> unconditionally.
Bruno Haible <bruno@clisp.org>
parents:
7262
diff
changeset
|
18 #include <config.h> |
7262 | 19 |
20 /* Specification. */ | |
21 #include "xstriconv.h" | |
22 | |
23 #include <errno.h> | |
24 | |
25 #include "striconv.h" | |
26 #include "xalloc.h" | |
27 | |
28 | |
29 #if HAVE_ICONV | |
30 | |
31 int | |
32 xmem_cd_iconv (const char *src, size_t srclen, iconv_t cd, | |
12421
e8d2c6fc33ad
Use spaces for indentation, not tabs.
Bruno Haible <bruno@clisp.org>
parents:
9309
diff
changeset
|
33 char **resultp, size_t *lengthp) |
7262 | 34 { |
35 int retval = mem_cd_iconv (src, srclen, cd, resultp, lengthp); | |
36 | |
37 if (retval < 0 && errno == ENOMEM) | |
38 xalloc_die (); | |
39 return retval; | |
40 } | |
41 | |
42 char * | |
43 xstr_cd_iconv (const char *src, iconv_t cd) | |
44 { | |
45 char *result = str_cd_iconv (src, cd); | |
46 | |
47 if (result == NULL && errno == ENOMEM) | |
48 xalloc_die (); | |
49 return result; | |
50 } | |
51 | |
52 #endif | |
53 | |
54 char * | |
55 xstr_iconv (const char *src, const char *from_codeset, const char *to_codeset) | |
56 { | |
57 char *result = str_iconv (src, from_codeset, to_codeset); | |
58 | |
59 if (result == NULL && errno == ENOMEM) | |
60 xalloc_die (); | |
61 return result; | |
62 } |