lmessages.c (101470) | lmessages.c (101498) |
---|---|
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 101470 2002-08-07 16:45:23Z ache $"); | 28__FBSDID("$FreeBSD: head/lib/libc/locale/lmessages.c 101498 2002-08-08 05:51:54Z 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 \ --- 10 unchanged lines hidden (view full) --- 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{ | 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 \ --- 10 unchanged lines hidden (view full) --- 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{ |
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; | 55 int ret; |
62 | 56 |
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); | 57 ret = __part_load_locale(name, &_messages_using_locale, 58 _messages_locale_buf, "LC_MESSAGES", 59 LCMESSAGES_SIZE_FULL, LCMESSAGES_SIZE_MIN, 60 (const char **)&_messages_locale); 61 if (ret == _LDP_LOADED) { 62 if (_messages_locale.yesstr == NULL) 63 _messages_locale.yesstr = empty; 64 if (_messages_locale.nostr == NULL) 65 _messages_locale.nostr = empty; 66 } 67 return (ret); |
67} 68 69struct lc_messages_T * 70__get_current_messages_locale(void) 71{ 72 return (_messages_using_locale 73 ? &_messages_locale 74 : (struct lc_messages_T *)&_C_messages_locale); --- 16 unchanged lines hidden --- | 68} 69 70struct lc_messages_T * 71__get_current_messages_locale(void) 72{ 73 return (_messages_using_locale 74 ? &_messages_locale 75 : (struct lc_messages_T *)&_C_messages_locale); --- 16 unchanged lines hidden --- |