Deleted Added
full compact
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 */