[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.20
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
share
/
gettext
/
intl
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 COPYING.LIB
26,545 B
SET
[ EDIT ]
|
[ DEL ]
📄 Makefile.in
25,121 B
SET
[ EDIT ]
|
[ DEL ]
📄 VERSION
42 B
SET
[ EDIT ]
|
[ DEL ]
📄 bindtextdom.c
9,553 B
SET
[ EDIT ]
|
[ DEL ]
📄 config.charset
23,045 B
SET
[ EDIT ]
|
[ DEL ]
📄 dcgettext.c
1,747 B
SET
[ EDIT ]
|
[ DEL ]
📄 dcigettext.c
47,601 B
SET
[ EDIT ]
|
[ DEL ]
📄 dcngettext.c
1,780 B
SET
[ EDIT ]
|
[ DEL ]
📄 dgettext.c
1,705 B
SET
[ EDIT ]
|
[ DEL ]
📄 dngettext.c
1,822 B
SET
[ EDIT ]
|
[ DEL ]
📄 eval-plural.h
2,736 B
SET
[ EDIT ]
|
[ DEL ]
📄 explodename.c
3,340 B
SET
[ EDIT ]
|
[ DEL ]
📄 export.h
157 B
SET
[ EDIT ]
|
[ DEL ]
📄 finddomain.c
5,996 B
SET
[ EDIT ]
|
[ DEL ]
📄 gettext.c
1,819 B
SET
[ EDIT ]
|
[ DEL ]
📄 gettextP.h
10,186 B
SET
[ EDIT ]
|
[ DEL ]
📄 gmo.h
4,853 B
SET
[ EDIT ]
|
[ DEL ]
📄 hash-string.c
1,549 B
SET
[ EDIT ]
|
[ DEL ]
📄 hash-string.h
1,314 B
SET
[ EDIT ]
|
[ DEL ]
📄 intl-compat.c
3,455 B
SET
[ EDIT ]
|
[ DEL ]
📄 intl-exports.c
1,774 B
SET
[ EDIT ]
|
[ DEL ]
📄 l10nflist.c
10,900 B
SET
[ EDIT ]
|
[ DEL ]
📄 langprefs.c
12,717 B
SET
[ EDIT ]
|
[ DEL ]
📄 libgnuintl.in.h
16,792 B
SET
[ EDIT ]
|
[ DEL ]
📄 libintl.rc
1,622 B
SET
[ EDIT ]
|
[ DEL ]
📄 loadinfo.h
5,112 B
SET
[ EDIT ]
|
[ DEL ]
📄 loadmsgcat.c
34,537 B
SET
[ EDIT ]
|
[ DEL ]
📄 localcharset.c
20,520 B
SET
[ EDIT ]
|
[ DEL ]
📄 localcharset.h
1,340 B
SET
[ EDIT ]
|
[ DEL ]
📄 locale.alias
3,086 B
SET
[ EDIT ]
|
[ DEL ]
📄 localealias.c
10,639 B
SET
[ EDIT ]
|
[ DEL ]
📄 localename.c
86,143 B
SET
[ EDIT ]
|
[ DEL ]
📄 lock.c
26,785 B
SET
[ EDIT ]
|
[ DEL ]
📄 lock.h
36,316 B
SET
[ EDIT ]
|
[ DEL ]
📄 log.c
3,855 B
SET
[ EDIT ]
|
[ DEL ]
📄 ngettext.c
1,907 B
SET
[ EDIT ]
|
[ DEL ]
📄 os2compat.c
2,837 B
SET
[ EDIT ]
|
[ DEL ]
📄 os2compat.h
1,505 B
SET
[ EDIT ]
|
[ DEL ]
📄 osdep.c
988 B
SET
[ EDIT ]
|
[ DEL ]
📄 plural-exp.c
3,881 B
SET
[ EDIT ]
|
[ DEL ]
📄 plural-exp.h
4,645 B
SET
[ EDIT ]
|
[ DEL ]
📄 plural.c
53,283 B
SET
[ EDIT ]
|
[ DEL ]
📄 plural.y
7,516 B
SET
[ EDIT ]
|
[ DEL ]
📄 printf-args.c
6,584 B
SET
[ EDIT ]
|
[ DEL ]
📄 printf-args.h
3,976 B
SET
[ EDIT ]
|
[ DEL ]
📄 printf-parse.c
22,193 B
SET
[ EDIT ]
|
[ DEL ]
📄 printf-parse.h
2,594 B
SET
[ EDIT ]
|
[ DEL ]
📄 printf.c
10,333 B
SET
[ EDIT ]
|
[ DEL ]
📄 ref-add.sin
1,041 B
SET
[ EDIT ]
|
[ DEL ]
📄 ref-del.sin
996 B
SET
[ EDIT ]
|
[ DEL ]
📄 relocatable.c
17,505 B
SET
[ EDIT ]
|
[ DEL ]
📄 relocatable.h
3,144 B
SET
[ EDIT ]
|
[ DEL ]
📄 setlocale.c
33,114 B
SET
[ EDIT ]
|
[ DEL ]
📄 textdomain.c
3,811 B
SET
[ EDIT ]
|
[ DEL ]
📄 threadlib.c
1,936 B
SET
[ EDIT ]
|
[ DEL ]
📄 tsearch.c
21,483 B
SET
[ EDIT ]
|
[ DEL ]
📄 tsearch.h
2,812 B
SET
[ EDIT ]
|
[ DEL ]
📄 vasnprintf.c
223,333 B
SET
[ EDIT ]
|
[ DEL ]
📄 vasnprintf.h
2,807 B
SET
[ EDIT ]
|
[ DEL ]
📄 vasnwprintf.h
1,684 B
SET
[ EDIT ]
|
[ DEL ]
📄 verify.h
11,019 B
SET
[ EDIT ]
|
[ DEL ]
📄 version.c
935 B
SET
[ EDIT ]
|
[ DEL ]
📄 wprintf-parse.h
2,643 B
SET
[ EDIT ]
|
[ DEL ]
📄 xsize.c
78 B
SET
[ EDIT ]
|
[ DEL ]
📄 xsize.h
3,653 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: bindtextdom.c
/* Implementation of the bindtextdomain(3) function Copyright (C) 1995-2016 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifdef HAVE_CONFIG_H # include <config.h> #endif #include <stddef.h> #include <stdlib.h> #include <string.h> #include "gettextP.h" #ifdef _LIBC # include <libintl.h> #else # include "libgnuintl.h" #endif /* Handle multi-threaded applications. */ #ifdef _LIBC # 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 # include "lock.h" #endif /* Some compilers, like SunOS4 cc, don't have offsetof in <stddef.h>. */ #ifndef offsetof # define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) #endif /* @@ end of prolog @@ */ /* Lock variable to protect the global data in the gettext implementation. */ gl_rwlock_define (extern, _nl_state_lock attribute_hidden) /* Names for the libintl functions are a problem. They must not clash with existing names and they should follow ANSI C. But this source code is also used in GNU C Library where the names have a __ prefix. So we have to make a difference here. */ #ifdef _LIBC # define BINDTEXTDOMAIN __bindtextdomain # define BIND_TEXTDOMAIN_CODESET __bind_textdomain_codeset # ifndef strdup # define strdup(str) __strdup (str) # endif #else # define BINDTEXTDOMAIN libintl_bindtextdomain # define BIND_TEXTDOMAIN_CODESET libintl_bind_textdomain_codeset #endif /* 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 modified, only the current value is returned. If DIRNAMEP or CODESETP is NULL, the corresponding attribute is neither modified nor returned. */ static void set_binding_values (const char *domainname, const char **dirnamep, const char **codesetp) { struct binding *binding; int modified; /* Some sanity checks. */ if (domainname == NULL || domainname[0] == '\0') { if (dirnamep) *dirnamep = NULL; if (codesetp) *codesetp = NULL; return; } gl_rwlock_wrlock (_nl_state_lock); modified = 0; for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next) { int compare = strcmp (domainname, binding->domainname); if (compare == 0) /* We found it! */ break; if (compare < 0) { /* It is not in the list. */ binding = NULL; break; } } if (binding != NULL) { if (dirnamep) { const char *dirname = *dirnamep; if (dirname == NULL) /* The current binding has be to returned. */ *dirnamep = binding->dirname; else { /* The domain is already bound. If the new value and the old one are equal we simply do nothing. Otherwise replace the old binding. */ char *result = binding->dirname; if (strcmp (dirname, result) != 0) { if (strcmp (dirname, _nl_default_dirname) == 0) result = (char *) _nl_default_dirname; else { #if defined _LIBC || defined HAVE_STRDUP result = strdup (dirname); #else size_t len = strlen (dirname) + 1; result = (char *) malloc (len); if (__builtin_expect (result != NULL, 1)) memcpy (result, dirname, len); #endif } if (__builtin_expect (result != NULL, 1)) { if (binding->dirname != _nl_default_dirname) free (binding->dirname); binding->dirname = result; modified = 1; } } *dirnamep = result; } } if (codesetp) { const char *codeset = *codesetp; if (codeset == NULL) /* The current binding has be to returned. */ *codesetp = binding->codeset; else { /* The domain is already bound. If the new value and the old one are equal we simply do nothing. Otherwise replace the old binding. */ char *result = binding->codeset; if (result == NULL || strcmp (codeset, result) != 0) { #if defined _LIBC || defined HAVE_STRDUP result = strdup (codeset); #else size_t len = strlen (codeset) + 1; result = (char *) malloc (len); if (__builtin_expect (result != NULL, 1)) memcpy (result, codeset, len); #endif if (__builtin_expect (result != NULL, 1)) { free (binding->codeset); binding->codeset = result; modified = 1; } } *codesetp = result; } } } else if ((dirnamep == NULL || *dirnamep == NULL) && (codesetp == NULL || *codesetp == NULL)) { /* Simply return the default values. */ if (dirnamep) *dirnamep = _nl_default_dirname; if (codesetp) *codesetp = NULL; } else { /* We have to create a new binding. */ size_t len = strlen (domainname) + 1; struct binding *new_binding = (struct binding *) malloc (offsetof (struct binding, domainname) + len); if (__builtin_expect (new_binding == NULL, 0)) goto failed; memcpy (new_binding->domainname, domainname, len); if (dirnamep) { const char *dirname = *dirnamep; if (dirname == NULL) /* The default value. */ dirname = _nl_default_dirname; else { if (strcmp (dirname, _nl_default_dirname) == 0) dirname = _nl_default_dirname; else { char *result; #if defined _LIBC || defined HAVE_STRDUP result = strdup (dirname); if (__builtin_expect (result == NULL, 0)) goto failed_dirname; #else size_t len = strlen (dirname) + 1; result = (char *) malloc (len); if (__builtin_expect (result == NULL, 0)) goto failed_dirname; memcpy (result, dirname, len); #endif dirname = result; } } *dirnamep = dirname; new_binding->dirname = (char *) dirname; } else /* The default value. */ new_binding->dirname = (char *) _nl_default_dirname; if (codesetp) { const char *codeset = *codesetp; if (codeset != NULL) { char *result; #if defined _LIBC || defined HAVE_STRDUP result = strdup (codeset); if (__builtin_expect (result == NULL, 0)) goto failed_codeset; #else size_t len = strlen (codeset) + 1; result = (char *) malloc (len); if (__builtin_expect (result == NULL, 0)) goto failed_codeset; memcpy (result, codeset, len); #endif codeset = result; } *codesetp = codeset; new_binding->codeset = (char *) codeset; } else new_binding->codeset = NULL; /* Now enqueue it. */ if (_nl_domain_bindings == NULL || strcmp (domainname, _nl_domain_bindings->domainname) < 0) { new_binding->next = _nl_domain_bindings; _nl_domain_bindings = new_binding; } else { binding = _nl_domain_bindings; while (binding->next != NULL && strcmp (domainname, binding->next->domainname) > 0) binding = binding->next; new_binding->next = binding->next; binding->next = new_binding; } modified = 1; /* Here we deal with memory allocation failures. */ if (0) { failed_codeset: if (new_binding->dirname != _nl_default_dirname) free (new_binding->dirname); failed_dirname: free (new_binding); failed: if (dirnamep) *dirnamep = NULL; if (codesetp) *codesetp = NULL; } } /* If we modified any binding, we flush the caches. */ if (modified) ++_nl_msg_cat_cntr; 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 * BINDTEXTDOMAIN (const char *domainname, const char *dirname) { #ifdef __EMX__ const char *saved_dirname = dirname; char dirname_with_drive[_MAX_PATH]; /* Resolve UNIXROOT into dirname if it is not resolved by os2compat.[ch]. */ if (dirname && (dirname[0] == '/' || dirname[0] == '\\' )) { const char *unixroot = getenv ("UNIXROOT"); size_t len = strlen (dirname) + 1; if (unixroot && unixroot[0] != '\0' && unixroot[1] == ':' && unixroot[2] == '\0' && 2 + len <= _MAX_PATH) { memcpy (dirname_with_drive, unixroot, 2); memcpy (dirname_with_drive + 2, dirname, len); dirname = dirname_with_drive; } } #endif set_binding_values (domainname, &dirname, NULL); #ifdef __EMX__ dirname = saved_dirname; #endif return (char *) dirname; } /* Specify the character encoding in which the messages from the DOMAINNAME message catalog will be returned. */ char * BIND_TEXTDOMAIN_CODESET (const char *domainname, const char *codeset) { set_binding_values (domainname, NULL, &codeset); return (char *) codeset; } #ifdef _LIBC /* Aliases for function names in GNU C Library. */ weak_alias (__bindtextdomain, bindtextdomain); weak_alias (__bind_textdomain_codeset, bind_textdomain_codeset); #endif