projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
simplify mutt_parse_date
[apps/madmutt.git]
/
intl
/
bindtextdom.c
diff --git
a/intl/bindtextdom.c
b/intl/bindtextdom.c
index
c6a9bd1
..
d1b1f90
100644
(file)
--- a/
intl/bindtextdom.c
+++ b/
intl/bindtextdom.c
@@
-1,5
+1,5
@@
/* Implementation of the bindtextdomain(3) function
/* Implementation of the bindtextdomain(3) function
- Copyright (C) 1995-1998, 2000
, 2001
Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2000
-2003, 2005-2006
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published
@@
-13,7
+13,7
@@
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
- Foundation, Inc., 5
9 Temple Place - Suite 330, Boston, MA 02111-1307
,
+ Foundation, Inc., 5
1 Franklin Street, Fifth Floor, Boston, MA 02110-1301
,
USA. */
#ifdef HAVE_CONFIG_H
USA. */
#ifdef HAVE_CONFIG_H
@@
-24,29
+24,29
@@
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
+#include "gettextP.h"
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
#ifdef _LIBC
# include <libintl.h>
#else
# include "libgnuintl.h"
#endif
-#include "gettextP.h"
+/* Handle multi-threaded applications. */
#ifdef _LIBC
#ifdef _LIBC
-/* We have to handle multi-threaded applications. */
# include <bits/libc-lock.h>
# include <bits/libc-lock.h>
+# define gl_rwlock_define __libc_rwlock_define
+# define gl_rwlock_wrlock __libc_rwlock_wrlock
+# define gl_rwlock_unlock __libc_rwlock_unlock
#else
#else
-/* Provide dummy implementation if this is outside glibc. */
-# define __libc_rwlock_define(CLASS, NAME)
-# define __libc_rwlock_wrlock(NAME)
-# define __libc_rwlock_unlock(NAME)
+# include "lock.h"
#endif
/* The internal variables in the standalone libintl.a must have different
names than the internal variables in GNU libc, otherwise programs
using libintl.a cannot be linked statically. */
#if !defined _LIBC
#endif
/* The internal variables in the standalone libintl.a must have different
names than the internal variables in GNU libc, otherwise programs
using libintl.a cannot be linked statically. */
#if !defined _LIBC
-# define _nl_default_dirname
_nl_default_dirname__
-# define _nl_domain_bindings
_nl_domain_bindings__
+# define _nl_default_dirname
libintl_nl_default_dirname
+# define _nl_domain_bindings
libintl_nl_domain_bindings
#endif
/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */
#endif
/* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */
@@
-58,12
+58,15
@@
/* Contains the default location of the message catalogs. */
extern const char _nl_default_dirname[];
/* Contains the default location of the message catalogs. */
extern const char _nl_default_dirname[];
+#ifdef _LIBC
+libc_hidden_proto (_nl_default_dirname)
+#endif
/* List with bindings of specific domains. */
extern struct binding *_nl_domain_bindings;
/* Lock variable to protect the global data in the gettext implementation. */
/* List with bindings of specific domains. */
extern struct binding *_nl_domain_bindings;
/* Lock variable to protect the global data in the gettext implementation. */
-
__libc_rwlock_define (extern, _nl_state_lock
)
+
gl_rwlock_define (extern, _nl_state_lock attribute_hidden
)
/* Names for the libintl functions are a problem. They must not clash
/* Names for the libintl functions are a problem. They must not clash
@@
-77,15
+80,10
@@
__libc_rwlock_define (extern, _nl_state_lock)
# define strdup(str) __strdup (str)
# endif
#else
# define strdup(str) __strdup (str)
# endif
#else
-# define BINDTEXTDOMAIN
bindtextdomain__
-# define BIND_TEXTDOMAIN_CODESET
bind_textdomain_codeset__
+# define BINDTEXTDOMAIN
libintl_bindtextdomain
+# define BIND_TEXTDOMAIN_CODESET
libintl_bind_textdomain_codeset
#endif
#endif
-/* Prototypes for local functions. */
-static void set_binding_values PARAMS ((const char *domainname,
- const char **dirnamep,
- const char **codesetp));
-
/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP
to be used for the DOMAINNAME message catalog.
If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not
/* Specifies the directory name *DIRNAMEP and the output codeset *CODESETP
to be used for the DOMAINNAME message catalog.
If *DIRNAMEP or *CODESETP is NULL, the corresponding attribute is not
@@
-93,10
+91,8
@@
static void set_binding_values PARAMS ((const char *domainname,
If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither
modified nor returned. */
static void
If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither
modified nor returned. */
static void
-set_binding_values (domainname, dirnamep, codesetp)
- const char *domainname;
- const char **dirnamep;
- const char **codesetp;
+set_binding_values (const char *domainname,
+ const char **dirnamep, const char **codesetp)
{
struct binding *binding;
int modified;
{
struct binding *binding;
int modified;
@@
-111,7
+107,7
@@
set_binding_values (domainname, dirnamep, codesetp)
return;
}
return;
}
-
__libc
_rwlock_wrlock (_nl_state_lock);
+
gl
_rwlock_wrlock (_nl_state_lock);
modified = 0;
modified = 0;
@@
-203,7
+199,6
@@
set_binding_values (domainname, dirnamep, codesetp)
free (binding->codeset);
binding->codeset = result;
free (binding->codeset);
binding->codeset = result;
- binding->codeset_cntr++;
modified = 1;
}
}
modified = 1;
}
}
@@
-267,8
+262,6
@@
set_binding_values (domainname, dirnamep, codesetp)
/* The default value. */
new_binding->dirname = (char *) _nl_default_dirname;
/* The default value. */
new_binding->dirname = (char *) _nl_default_dirname;
- new_binding->codeset_cntr = 0;
-
if (codesetp)
{
const char *codeset = *codesetp;
if (codesetp)
{
const char *codeset = *codesetp;
@@
-289,7
+282,6
@@
set_binding_values (domainname, dirnamep, codesetp)
memcpy (result, codeset, len);
#endif
codeset = result;
memcpy (result, codeset, len);
#endif
codeset = result;
- new_binding->codeset_cntr++;
}
*codesetp = codeset;
new_binding->codeset = (char *) codeset;
}
*codesetp = codeset;
new_binding->codeset = (char *) codeset;
@@
-337,15
+329,13
@@
set_binding_values (domainname, dirnamep, codesetp)
if (modified)
++_nl_msg_cat_cntr;
if (modified)
++_nl_msg_cat_cntr;
-
__libc
_rwlock_unlock (_nl_state_lock);
+
gl
_rwlock_unlock (_nl_state_lock);
}
/* Specify that the DOMAINNAME message catalog will be found
in DIRNAME rather than in the system locale data base. */
char *
}
/* Specify that the DOMAINNAME message catalog will be found
in DIRNAME rather than in the system locale data base. */
char *
-BINDTEXTDOMAIN (domainname, dirname)
- const char *domainname;
- const char *dirname;
+BINDTEXTDOMAIN (const char *domainname, const char *dirname)
{
set_binding_values (domainname, &dirname, NULL);
return (char *) dirname;
{
set_binding_values (domainname, &dirname, NULL);
return (char *) dirname;
@@
-354,9
+344,7
@@
BINDTEXTDOMAIN (domainname, dirname)
/* Specify the character encoding in which the messages from the
DOMAINNAME message catalog will be returned. */
char *
/* Specify the character encoding in which the messages from the
DOMAINNAME message catalog will be returned. */
char *
-BIND_TEXTDOMAIN_CODESET (domainname, codeset)
- const char *domainname;
- const char *codeset;
+BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset)
{
set_binding_values (domainname, NULL, &codeset);
return (char *) codeset;
{
set_binding_values (domainname, NULL, &codeset);
return (char *) codeset;