sswf/sswf.patch

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
parent 110
b70af19a3465
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

michael@110 1 Index: include/sswf/libsswf.h
michael@110 2 --- include/sswf/libsswf.h.orig 2008-06-23 07:51:47 +0200
michael@110 3 +++ include/sswf/libsswf.h 2008-06-23 18:10:33 +0200
michael@110 4 @@ -71,12 +71,14 @@
michael@110 5 /* wint_t is an "equivalent" to wchar_t without being limited to 16 bits as on MS-Windows */
michael@110 6 #ifndef _MSVC
michael@110 7 #ifndef __APPLE_CC__
michael@110 8 +#ifndef __FreeBSD__
michael@110 9 #ifndef _WINT_T
michael@110 10 #define _WINT_T
michael@110 11 typedef unsigned int wint_t;
michael@110 12 #endif
michael@110 13 #endif
michael@110 14 #endif
michael@110 15 +#endif
michael@110 16
michael@110 17 #ifndef M_PI
michael@110 18 #define M_PI 3.14159265358979323846
michael@110 19 @@ -88,7 +90,7 @@
michael@110 20 #define rint(x) ((double) (long) floor(x + 0.5))
michael@110 21 #endif
michael@110 22
michael@110 23 -#ifdef _LIBICONV_H
michael@110 24 +#if defined(_LIBICONV_H) && !defined(__FreeBSD__)
michael@110 25 #define ICONV_INPUT_CAST
michael@110 26 #else
michael@110 27 /* older versions of iconv() were broken in regard to the
michael@110 28 Index: include/sswf/libsswf_c.h
michael@110 29 --- include/sswf/libsswf_c.h.orig 2008-06-23 07:51:47 +0200
michael@110 30 +++ include/sswf/libsswf_c.h 2008-06-23 18:10:33 +0200
michael@110 31 @@ -38,7 +38,7 @@
michael@110 32
michael@110 33 #include <stdlib.h>
michael@110 34 #include <stdarg.h>
michael@110 35 -#if IRIX
michael@110 36 +#if IRIX || defined(__FreeBSD__)
michael@110 37 #include <inttypes.h>
michael@110 38 #endif
michael@110 39 #include <sswf/libsswf-config.h>
michael@111 40 Index: src/lib/libsswf_tag_header.c++
michael@111 41 --- src/lib/libsswf_tag_header.c++.orig 2009-02-25 11:44:25.018888440 +0100
michael@111 42 +++ src/lib/libsswf_tag_header.c++ 2009-02-25 12:03:04.998881702 +0100
michael@111 43 @@ -745,7 +745,7 @@
michael@111 44 }
michael@111 45 #endif
michael@111 46
michael@111 47 - r = (int) iconv(f_iconvertor, ICONV_INPUT_CAST &string, &in, &p, &out);
michael@111 48 + r = (int) iconv(f_iconvertor, ICONV_INPUT_CAST const_cast<char **>(&string), &in, &p, &out);
michael@111 49 if(r < 0) {
michael@111 50 if(s != buf) {
michael@111 51 MemFree(s);
michael@111 52 Index: src/lib/sswf_lexical.c++
michael@111 53 --- src/sswf/sswf_lexical.c++.orig 2008-06-23 07:51:47.000000000 +0200
michael@111 54 +++ src/sswf/sswf_lexical.c++ 2009-02-25 12:06:36.214881561 +0100
michael@111 55 @@ -2026,7 +2026,7 @@
michael@111 56 out = sizeof(outchar);
michael@111 57 output = (char *) &outchar;
michael@111 58 b = (int) f_mb_count;
michael@111 59 - a = (int) iconv(f_iconvertor, ICONV_INPUT_CAST &input, &f_mb_count, &output, &out);
michael@111 60 + a = (int) iconv(f_iconvertor, ICONV_INPUT_CAST const_cast<char **>(&input), &f_mb_count, &output, &out);
michael@111 61 // the output buffer will usually be full before the
michael@111 62 // input is fully emptied!
michael@111 63 if(a < 0 && errno == E2BIG && out == 0 && b != (int) f_mb_count) {

mercurial