lmessages.c (92986) | lmessages.c (101470) |
---|---|
1/* 2 * Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> | 1/* 2 * Copyright (c) 2001 Alexey Zelkin <phantom@FreeBSD.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> |
28__FBSDID("$FreeBSD: head/lib/libc/locale/lmessages.c 92986 2002-03-22 21:53:29Z obrien $"); | 28__FBSDID("$FreeBSD: head/lib/libc/locale/lmessages.c 101470 2002-08-07 16:45:23Z ache $"); |
29 30#include <stddef.h> 31 32#include "lmessages.h" 33#include "ldpart.h" 34 35#define LCMESSAGES_SIZE_FULL (sizeof(struct lc_messages_T) / sizeof(char *)) 36#define LCMESSAGES_SIZE_MIN \ --- 8 unchanged lines hidden (view full) --- 45 "no" /* nostr */ 46}; 47 48static struct lc_messages_T _messages_locale; 49static int _messages_using_locale; 50static char *_messages_locale_buf; 51 52int | 29 30#include <stddef.h> 31 32#include "lmessages.h" 33#include "ldpart.h" 34 35#define LCMESSAGES_SIZE_FULL (sizeof(struct lc_messages_T) / sizeof(char *)) 36#define LCMESSAGES_SIZE_MIN \ --- 8 unchanged lines hidden (view full) --- 45 "no" /* nostr */ 46}; 47 48static struct lc_messages_T _messages_locale; 49static int _messages_using_locale; 50static char *_messages_locale_buf; 51 52int |
53__messages_load_locale(const char *name) { 54 | 53__messages_load_locale(const char *name) 54{ |
55 /* 56 * Propose that we can have incomplete locale file (w/o "{yes,no}str"). 57 * Initialize them before loading. In case of complete locale, they'll 58 * be initialized to loaded value, otherwise they'll not be touched. 59 */ 60 _messages_locale.yesstr = empty; 61 _messages_locale.nostr = empty; 62 63 return __part_load_locale(name, &_messages_using_locale, 64 _messages_locale_buf, "LC_MESSAGES", 65 LCMESSAGES_SIZE_FULL, LCMESSAGES_SIZE_MIN, 66 (const char **)&_messages_locale); 67} 68 69struct lc_messages_T * | 55 /* 56 * Propose that we can have incomplete locale file (w/o "{yes,no}str"). 57 * Initialize them before loading. In case of complete locale, they'll 58 * be initialized to loaded value, otherwise they'll not be touched. 59 */ 60 _messages_locale.yesstr = empty; 61 _messages_locale.nostr = empty; 62 63 return __part_load_locale(name, &_messages_using_locale, 64 _messages_locale_buf, "LC_MESSAGES", 65 LCMESSAGES_SIZE_FULL, LCMESSAGES_SIZE_MIN, 66 (const char **)&_messages_locale); 67} 68 69struct lc_messages_T * |
70__get_current_messages_locale(void) { 71 | 70__get_current_messages_locale(void) 71{ |
72 return (_messages_using_locale 73 ? &_messages_locale 74 : (struct lc_messages_T *)&_C_messages_locale); 75} 76 77#ifdef LOCALE_DEBUG 78void 79msgdebug() { 80printf( "yesexpr = %s\n" 81 "noexpr = %s\n" 82 "yesstr = %s\n" 83 "nostr = %s\n", 84 _messages_locale.yesexpr, 85 _messages_locale.noexpr, 86 _messages_locale.yesstr, 87 _messages_locale.nostr 88); 89} 90#endif /* LOCALE_DEBUG */ | 72 return (_messages_using_locale 73 ? &_messages_locale 74 : (struct lc_messages_T *)&_C_messages_locale); 75} 76 77#ifdef LOCALE_DEBUG 78void 79msgdebug() { 80printf( "yesexpr = %s\n" 81 "noexpr = %s\n" 82 "yesstr = %s\n" 83 "nostr = %s\n", 84 _messages_locale.yesexpr, 85 _messages_locale.noexpr, 86 _messages_locale.yesstr, 87 _messages_locale.nostr 88); 89} 90#endif /* LOCALE_DEBUG */ |