Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Apache
: 172.26.7.228 | : 18.191.37.129
Cant Read [ /etc/named.conf ]
5.6.40-24+ubuntu18.04.1+deb.sury.org+1
www-data
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
gettext /
intl /
[ HOME SHELL ]
Name
Size
Permission
Action
COPYING.LIB
25.92
KB
-rw-r--r--
Makefile.in
24.53
KB
-rw-r--r--
VERSION
42
B
-rw-r--r--
bindtextdom.c
9.33
KB
-rw-r--r--
config.charset
22.5
KB
-rwxr-xr-x
dcgettext.c
1.71
KB
-rw-r--r--
dcigettext.c
46.49
KB
-rw-r--r--
dcngettext.c
1.74
KB
-rw-r--r--
dgettext.c
1.67
KB
-rw-r--r--
dngettext.c
1.78
KB
-rw-r--r--
eval-plural.h
2.67
KB
-rw-r--r--
explodename.c
3.26
KB
-rw-r--r--
export.h
157
B
-rw-r--r--
finddomain.c
5.86
KB
-rw-r--r--
gettext.c
1.78
KB
-rw-r--r--
gettextP.h
9.95
KB
-rw-r--r--
gmo.h
4.74
KB
-rw-r--r--
hash-string.c
1.51
KB
-rw-r--r--
hash-string.h
1.28
KB
-rw-r--r--
intl-compat.c
3.37
KB
-rw-r--r--
intl-exports.c
1.73
KB
-rw-r--r--
l10nflist.c
10.64
KB
-rw-r--r--
langprefs.c
12.42
KB
-rw-r--r--
libgnuintl.in.h
16.4
KB
-rw-r--r--
libintl.rc
1.58
KB
-rw-r--r--
loadinfo.h
4.99
KB
-rw-r--r--
loadmsgcat.c
34.13
KB
-rw-r--r--
localcharset.c
20.04
KB
-rw-r--r--
localcharset.h
1.31
KB
-rw-r--r--
locale.alias
3.01
KB
-rw-r--r--
localealias.c
10.39
KB
-rw-r--r--
localename.c
84.12
KB
-rw-r--r--
lock.c
26.16
KB
-rw-r--r--
lock.h
35.46
KB
-rw-r--r--
log.c
3.76
KB
-rw-r--r--
ngettext.c
1.86
KB
-rw-r--r--
os2compat.c
2.77
KB
-rw-r--r--
os2compat.h
1.47
KB
-rw-r--r--
osdep.c
988
B
-rw-r--r--
plural-exp.c
3.79
KB
-rw-r--r--
plural-exp.h
4.54
KB
-rw-r--r--
plural.c
52.03
KB
-rw-r--r--
plural.y
7.34
KB
-rw-r--r--
printf-args.c
6.43
KB
-rw-r--r--
printf-args.h
3.88
KB
-rw-r--r--
printf-parse.c
21.67
KB
-rw-r--r--
printf-parse.h
2.53
KB
-rw-r--r--
printf.c
10.09
KB
-rw-r--r--
ref-add.sin
1.02
KB
-rw-r--r--
ref-del.sin
996
B
-rw-r--r--
relocatable.c
17.09
KB
-rw-r--r--
relocatable.h
3.07
KB
-rw-r--r--
setlocale.c
32.34
KB
-rw-r--r--
textdomain.c
3.72
KB
-rw-r--r--
threadlib.c
1.89
KB
-rw-r--r--
tsearch.c
20.98
KB
-rw-r--r--
tsearch.h
2.75
KB
-rw-r--r--
vasnprintf.c
218.1
KB
-rw-r--r--
vasnprintf.h
2.74
KB
-rw-r--r--
vasnwprintf.h
1.64
KB
-rw-r--r--
verify.h
10.76
KB
-rw-r--r--
version.c
935
B
-rw-r--r--
wprintf-parse.h
2.58
KB
-rw-r--r--
xsize.c
78
B
-rw-r--r--
xsize.h
3.57
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : 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
Close