Add iconv void * overloads for backwards compatibility
Since Xcode 15 the iconv APIs operate on an opaque type __tag_iconv_t* instead of void*. This causes a runtime exception in older Ktor versions which depended on iconv. ^KT-62286
This commit is contained in:
@@ -3,3 +3,10 @@ package = platform.iconv
|
||||
headers = iconv.h
|
||||
headerFilter = **
|
||||
linkerOpts = -liconv
|
||||
allowedOverloadsForCFunctions = iconv iconvctl iconv_close
|
||||
|
||||
---
|
||||
typedef void* __kotlin_iconv_t;
|
||||
size_t __attribute__((overloadable)) iconv(__kotlin_iconv_t, char **, size_t *, char **, size_t *) asm("_iconv");
|
||||
int __attribute__((overloadable)) iconvctl(__kotlin_iconv_t, int, void *) asm("_iconvctl");
|
||||
int __attribute__((overloadable)) iconv_close(__kotlin_iconv_t) asm("_iconv_close");
|
||||
@@ -3,3 +3,10 @@ package = platform.iconv
|
||||
headers = iconv.h
|
||||
headerFilter = **
|
||||
linkerOpts = -liconv
|
||||
allowedOverloadsForCFunctions = iconv iconvctl iconv_close
|
||||
|
||||
---
|
||||
typedef void* __kotlin_iconv_t;
|
||||
size_t __attribute__((overloadable)) iconv(__kotlin_iconv_t, char **, size_t *, char **, size_t *) asm("_iconv");
|
||||
int __attribute__((overloadable)) iconvctl(__kotlin_iconv_t, int, void *) asm("_iconvctl");
|
||||
int __attribute__((overloadable)) iconv_close(__kotlin_iconv_t) asm("_iconv_close");
|
||||
@@ -3,3 +3,10 @@ package = platform.iconv
|
||||
headers = iconv.h
|
||||
headerFilter = **
|
||||
linkerOpts = -liconv
|
||||
allowedOverloadsForCFunctions = iconv iconvctl iconv_close
|
||||
|
||||
---
|
||||
typedef void* __kotlin_iconv_t;
|
||||
size_t __attribute__((overloadable)) iconv(__kotlin_iconv_t, char **, size_t *, char **, size_t *) asm("_iconv");
|
||||
int __attribute__((overloadable)) iconvctl(__kotlin_iconv_t, int, void *) asm("_iconvctl");
|
||||
int __attribute__((overloadable)) iconv_close(__kotlin_iconv_t) asm("_iconv_close");
|
||||
@@ -3,3 +3,10 @@ package = platform.iconv
|
||||
headers = iconv.h
|
||||
headerFilter = **
|
||||
linkerOpts = -liconv
|
||||
allowedOverloadsForCFunctions = iconv iconvctl iconv_close
|
||||
|
||||
---
|
||||
typedef void* __kotlin_iconv_t;
|
||||
size_t __attribute__((overloadable)) iconv(__kotlin_iconv_t, char **, size_t *, char **, size_t *) asm("_iconv");
|
||||
int __attribute__((overloadable)) iconvctl(__kotlin_iconv_t, int, void *) asm("_iconvctl");
|
||||
int __attribute__((overloadable)) iconv_close(__kotlin_iconv_t) asm("_iconv_close");
|
||||
Reference in New Issue
Block a user