replace stpcpy() calls to silence ld warnings; ok sthen@
This commit is contained in:
parent
4b01c3d5eb
commit
b14487677b
@ -1,9 +1,9 @@
|
||||
# $OpenBSD: Makefile,v 1.55 2012/01/26 22:08:26 naddy Exp $
|
||||
# $OpenBSD: Makefile,v 1.56 2012/07/13 19:43:18 naddy Exp $
|
||||
|
||||
COMMENT= GNU gettext
|
||||
|
||||
DISTNAME= gettext-0.18.1
|
||||
REVISION= 1
|
||||
REVISION= 2
|
||||
SHARED_LIBS += intl 6.0 # .9.1
|
||||
SHARED_LIBS += asprintf 1.0 # .0.0
|
||||
SHARED_LIBS += gettextlib 3.0 # .0.0
|
||||
|
@ -1,5 +1,2 @@
|
||||
MD5 (gettext-0.18.1.tar.gz) = KuBPlg1foDd0Y23e8Z69vw==
|
||||
RMD160 (gettext-0.18.1.tar.gz) = RKDgYMH10nRiq41Y4B2i/qWkiqU=
|
||||
SHA1 (gettext-0.18.1.tar.gz) = FPhwpUU5MogPgc6Qqlmz2p1Nr1w=
|
||||
SHA256 (gettext-0.18.1.tar.gz) = N6lHu65jwxc6LiyqDmH4K4bCPz4/AS+PMJ7q+Q2DnHs=
|
||||
SIZE (gettext-0.18.1.tar.gz) = 15140564
|
||||
|
@ -1,7 +1,63 @@
|
||||
$OpenBSD: patch-gettext-runtime_intl_dcigettext_c,v 1.2 2010/07/03 03:23:22 naddy Exp $
|
||||
--- gettext-runtime/intl/dcigettext.c.orig Mon Jun 28 20:23:14 2010
|
||||
+++ gettext-runtime/intl/dcigettext.c Mon Jun 28 20:25:07 2010
|
||||
@@ -769,13 +769,17 @@ DCIGETTEXT (const char *domainname, const char *msgid1
|
||||
$OpenBSD: patch-gettext-runtime_intl_dcigettext_c,v 1.3 2012/07/13 19:43:18 naddy Exp $
|
||||
--- gettext-runtime/intl/dcigettext.c.orig Sat Dec 26 14:42:37 2009
|
||||
+++ gettext-runtime/intl/dcigettext.c Tue Jul 10 20:08:14 2012
|
||||
@@ -507,6 +507,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1
|
||||
const char *localename;
|
||||
#endif
|
||||
size_t domainname_len;
|
||||
+ size_t xdomainname_len;
|
||||
|
||||
/* If no real MSGID is given return NULL. */
|
||||
if (msgid1 == NULL)
|
||||
@@ -627,6 +628,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1
|
||||
/* We have a relative path. Make it absolute now. */
|
||||
size_t dirname_len = strlen (dirname) + 1;
|
||||
size_t path_max;
|
||||
+ size_t resolved_dirname_len;
|
||||
char *resolved_dirname;
|
||||
char *ret;
|
||||
|
||||
@@ -635,7 +637,8 @@ DCIGETTEXT (const char *domainname, const char *msgid1
|
||||
|
||||
for (;;)
|
||||
{
|
||||
- resolved_dirname = (char *) alloca (path_max + dirname_len);
|
||||
+ resolved_dirname_len = path_max + dirname_len;
|
||||
+ resolved_dirname = (char *) alloca (resolved_dirname_len);
|
||||
ADD_BLOCK (block_list, tmp_dirname);
|
||||
|
||||
__set_errno (0);
|
||||
@@ -652,7 +655,8 @@ DCIGETTEXT (const char *domainname, const char *msgid1
|
||||
error but simply return the default string. */
|
||||
goto return_untranslated;
|
||||
|
||||
- stpcpy (stpcpy (strchr (resolved_dirname, '\0'), "/"), dirname);
|
||||
+ strlcat (resolved_dirname, "/", resolved_dirname_len);
|
||||
+ strlcat (resolved_dirname, dirname, resolved_dirname_len);
|
||||
dirname = resolved_dirname;
|
||||
}
|
||||
#ifndef IN_LIBGLOCALE
|
||||
@@ -670,13 +674,14 @@ DCIGETTEXT (const char *domainname, const char *msgid1
|
||||
#endif
|
||||
|
||||
domainname_len = strlen (domainname);
|
||||
- xdomainname = (char *) alloca (strlen (categoryname)
|
||||
- + domainname_len + 5);
|
||||
+ xdomainname_len = strlen (categoryname) + domainname_len + 5;
|
||||
+ xdomainname = (char *) alloca (xdomainname_len);
|
||||
ADD_BLOCK (block_list, xdomainname);
|
||||
|
||||
- stpcpy ((char *) mempcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
|
||||
- domainname, domainname_len),
|
||||
- ".mo");
|
||||
+ strlcpy (xdomainname, categoryname, xdomainname_len);
|
||||
+ strlcat (xdomainname, "/", xdomainname_len);
|
||||
+ strlcat (xdomainname, domainname, xdomainname_len);
|
||||
+ strlcat (xdomainname, ".mo", xdomainname_len);
|
||||
|
||||
/* Creating working area. */
|
||||
single_locale = (char *) alloca (strlen (categoryvalue) + 1);
|
||||
@@ -769,13 +774,17 @@ DCIGETTEXT (const char *domainname, const char *msgid1
|
||||
/* Create a new entry and add it to the search tree. */
|
||||
size_t msgid_len;
|
||||
size_t size;
|
||||
@ -20,7 +76,7 @@ $OpenBSD: patch-gettext-runtime_intl_dcigettext_c,v 1.2 2010/07/03 03:23:22 nadd
|
||||
#endif
|
||||
newp = (struct known_translation_t *) malloc (size);
|
||||
if (newp != NULL)
|
||||
@@ -791,7 +795,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1
|
||||
@@ -791,7 +800,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1
|
||||
memcpy (new_domainname, domainname, domainname_len + 1);
|
||||
#ifdef HAVE_PER_THREAD_LOCALE
|
||||
new_localename = new_domainname + domainname_len + 1;
|
||||
|
80
devel/gettext/patches/patch-gettext-runtime_intl_l10nflist_c
Normal file
80
devel/gettext/patches/patch-gettext-runtime_intl_l10nflist_c
Normal file
@ -0,0 +1,80 @@
|
||||
$OpenBSD: patch-gettext-runtime_intl_l10nflist_c,v 1.1 2012/07/13 19:43:18 naddy Exp $
|
||||
--- gettext-runtime/intl/l10nflist.c.orig Sun Jun 28 21:44:04 2009
|
||||
+++ gettext-runtime/intl/l10nflist.c Tue Jul 10 23:41:41 2012
|
||||
@@ -183,6 +183,7 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_
|
||||
struct loaded_l10nfile **lastp;
|
||||
struct loaded_l10nfile *retval;
|
||||
char *cp;
|
||||
+ size_t abs_filename_len;
|
||||
size_t dirlist_count;
|
||||
size_t entries;
|
||||
int cnt;
|
||||
@@ -193,7 +194,7 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_
|
||||
dirlist_len = 0;
|
||||
|
||||
/* Allocate room for the full file name. */
|
||||
- abs_filename = (char *) malloc (dirlist_len
|
||||
+ abs_filename_len = (dirlist_len
|
||||
+ strlen (language)
|
||||
+ ((mask & XPG_TERRITORY) != 0
|
||||
? strlen (territory) + 1 : 0)
|
||||
@@ -204,6 +205,7 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_
|
||||
+ ((mask & XPG_MODIFIER) != 0
|
||||
? strlen (modifier) + 1 : 0)
|
||||
+ 1 + strlen (filename) + 1);
|
||||
+ abs_filename = (char *) malloc (abs_filename_len);
|
||||
|
||||
if (abs_filename == NULL)
|
||||
return NULL;
|
||||
@@ -218,31 +220,31 @@ _nl_make_l10nflist (struct loaded_l10nfile **l10nfile_
|
||||
cp[-1] = '/';
|
||||
}
|
||||
|
||||
- cp = stpcpy (cp, language);
|
||||
+ strlcat (abs_filename, language, abs_filename_len);
|
||||
|
||||
if ((mask & XPG_TERRITORY) != 0)
|
||||
{
|
||||
- *cp++ = '_';
|
||||
- cp = stpcpy (cp, territory);
|
||||
+ strlcat (abs_filename, "_", abs_filename_len);
|
||||
+ strlcat (abs_filename, territory, abs_filename_len);
|
||||
}
|
||||
if ((mask & XPG_CODESET) != 0)
|
||||
{
|
||||
- *cp++ = '.';
|
||||
- cp = stpcpy (cp, codeset);
|
||||
+ strlcat (abs_filename, ".", abs_filename_len);
|
||||
+ strlcat (abs_filename, codeset, abs_filename_len);
|
||||
}
|
||||
if ((mask & XPG_NORM_CODESET) != 0)
|
||||
{
|
||||
- *cp++ = '.';
|
||||
- cp = stpcpy (cp, normalized_codeset);
|
||||
+ strlcat (abs_filename, ".", abs_filename_len);
|
||||
+ strlcat (abs_filename, normalized_codeset, abs_filename_len);
|
||||
}
|
||||
if ((mask & XPG_MODIFIER) != 0)
|
||||
{
|
||||
- *cp++ = '@';
|
||||
- cp = stpcpy (cp, modifier);
|
||||
+ strlcat (abs_filename, "@", abs_filename_len);
|
||||
+ strlcat (abs_filename, modifier, abs_filename_len);
|
||||
}
|
||||
|
||||
- *cp++ = '/';
|
||||
- stpcpy (cp, filename);
|
||||
+ strlcat (abs_filename, "/", abs_filename_len);
|
||||
+ strlcat (abs_filename, filename, abs_filename_len);
|
||||
|
||||
/* Look in list of already loaded domains whether it is already
|
||||
available. */
|
||||
@@ -366,7 +368,7 @@ _nl_normalize_codeset (const char *codeset, size_t nam
|
||||
if (retval != NULL)
|
||||
{
|
||||
if (only_digit)
|
||||
- wp = stpcpy (retval, "iso");
|
||||
+ wp = (char *) memcpy (retval, "iso", 3) + 3;
|
||||
else
|
||||
wp = retval;
|
||||
|
Loading…
x
Reference in New Issue
Block a user