summaryrefslogtreecommitdiffstats
path: root/main/wine/dn_skipname.patch
diff options
context:
space:
mode:
authorCedric Schieli <cschieli@gmail.com>2010-06-01 12:37:47 +0000
committerCedric Schieli <cschieli@gmail.com>2010-06-01 12:37:47 +0000
commit10b8b99e48384b4470cac1330080c12d2ade01de (patch)
tree7bb4ad6cd94a2c9a960fd9a4532d123eee5151d5 /main/wine/dn_skipname.patch
parent9252f1cfd78299b137400ed8169a79f7f833daac (diff)
parentc6c0b6f9dbde1244e7b31f74c703178a867e873f (diff)
downloadaports-to-upstream.tar.bz2
aports-to-upstream.tar.xz
Merge remote branch 'upstream/master' into to-upstreamto-upstream
Diffstat (limited to 'main/wine/dn_skipname.patch')
-rw-r--r--main/wine/dn_skipname.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/main/wine/dn_skipname.patch b/main/wine/dn_skipname.patch
new file mode 100644
index 00000000..99ecf831
--- /dev/null
+++ b/main/wine/dn_skipname.patch
@@ -0,0 +1,38 @@
+--- ./dlls/dnsapi/ns_parse.c.orig
++++ ./dlls/dnsapi/ns_parse.c
+@@ -69,6 +69,35 @@
+ } while (0)
+
+ /* Public. */
++#ifdef __UCLIBC__
++int
++dn_skipname(const u_char *comp_dn, const u_char *eom)
++{
++ const u_char *cp;
++ int n;
++
++ cp = comp_dn;
++ while (cp < eom && (n = *cp++)) {
++ /*
++ * check for indirection
++ */
++ switch (n & INDIR_MASK) {
++ case 0: /* normal case, n == len */
++ cp += n;
++ continue;
++ case INDIR_MASK: /* indirection */
++ cp++;
++ break;
++ default: /* illegal type */
++ return (-1);
++ }
++ break;
++ }
++ if (cp > eom)
++ return (-1);
++ return (cp - comp_dn);
++}
++#endif
+
+ static int
+ dns_ns_skiprr(const u_char *ptr, const u_char *eom, ns_sect section, int count) {