mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-31 21:50:33 +03:00
Hide internal functions
These functions were never declared in public headers, so it should be safe to hide them. Fixes #139.
This commit is contained in:
@@ -3,45 +3,68 @@
|
|||||||
|
|
||||||
#include <libxml/tree.h>
|
#include <libxml/tree.h>
|
||||||
|
|
||||||
xmlBufPtr xmlBufCreate(void);
|
XML_HIDDEN xmlBufPtr
|
||||||
xmlBufPtr xmlBufCreateSize(size_t size);
|
xmlBufCreate(void);
|
||||||
|
XML_HIDDEN xmlBufPtr
|
||||||
|
xmlBufCreateSize(size_t size);
|
||||||
|
|
||||||
int xmlBufSetAllocationScheme(xmlBufPtr buf,
|
XML_HIDDEN int
|
||||||
xmlBufferAllocationScheme scheme);
|
xmlBufSetAllocationScheme(xmlBufPtr buf, xmlBufferAllocationScheme scheme);
|
||||||
int xmlBufGetAllocationScheme(xmlBufPtr buf);
|
XML_HIDDEN int
|
||||||
|
xmlBufGetAllocationScheme(xmlBufPtr buf);
|
||||||
|
|
||||||
void xmlBufFree(xmlBufPtr buf);
|
XML_HIDDEN void
|
||||||
void xmlBufEmpty(xmlBufPtr buf);
|
xmlBufFree(xmlBufPtr buf);
|
||||||
|
XML_HIDDEN void
|
||||||
|
xmlBufEmpty(xmlBufPtr buf);
|
||||||
|
|
||||||
/* size_t xmlBufShrink(xmlBufPtr buf, size_t len); */
|
/* size_t xmlBufShrink(xmlBufPtr buf, size_t len); */
|
||||||
int xmlBufGrow(xmlBufPtr buf, int len);
|
XML_HIDDEN int
|
||||||
int xmlBufResize(xmlBufPtr buf, size_t len);
|
xmlBufGrow(xmlBufPtr buf, int len);
|
||||||
|
XML_HIDDEN int
|
||||||
|
xmlBufResize(xmlBufPtr buf, size_t len);
|
||||||
|
|
||||||
int xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len);
|
XML_HIDDEN int
|
||||||
int xmlBufCat(xmlBufPtr buf, const xmlChar *str);
|
xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len);
|
||||||
int xmlBufCCat(xmlBufPtr buf, const char *str);
|
XML_HIDDEN int
|
||||||
int xmlBufWriteQuotedString(xmlBufPtr buf, const xmlChar *string);
|
xmlBufCat(xmlBufPtr buf, const xmlChar *str);
|
||||||
|
XML_HIDDEN int
|
||||||
|
xmlBufCCat(xmlBufPtr buf, const char *str);
|
||||||
|
XML_HIDDEN int
|
||||||
|
xmlBufWriteQuotedString(xmlBufPtr buf, const xmlChar *string);
|
||||||
|
|
||||||
size_t xmlBufAvail(const xmlBufPtr buf);
|
XML_HIDDEN size_t
|
||||||
size_t xmlBufLength(const xmlBufPtr buf);
|
xmlBufAvail(const xmlBufPtr buf);
|
||||||
|
XML_HIDDEN size_t
|
||||||
|
xmlBufLength(const xmlBufPtr buf);
|
||||||
/* size_t xmlBufUse(const xmlBufPtr buf); */
|
/* size_t xmlBufUse(const xmlBufPtr buf); */
|
||||||
int xmlBufIsEmpty(const xmlBufPtr buf);
|
XML_HIDDEN int
|
||||||
int xmlBufAddLen(xmlBufPtr buf, size_t len);
|
xmlBufIsEmpty(const xmlBufPtr buf);
|
||||||
|
XML_HIDDEN int
|
||||||
|
xmlBufAddLen(xmlBufPtr buf, size_t len);
|
||||||
|
|
||||||
/* const xmlChar * xmlBufContent(const xmlBuf *buf); */
|
/* const xmlChar * xmlBufContent(const xmlBuf *buf); */
|
||||||
/* const xmlChar * xmlBufEnd(xmlBufPtr buf); */
|
/* const xmlChar * xmlBufEnd(xmlBufPtr buf); */
|
||||||
|
|
||||||
xmlChar * xmlBufDetach(xmlBufPtr buf);
|
XML_HIDDEN xmlChar *
|
||||||
|
xmlBufDetach(xmlBufPtr buf);
|
||||||
|
|
||||||
size_t xmlBufDump(FILE *file, xmlBufPtr buf);
|
XML_HIDDEN size_t
|
||||||
|
xmlBufDump(FILE *file, xmlBufPtr buf);
|
||||||
|
|
||||||
xmlBufPtr xmlBufFromBuffer(xmlBufferPtr buffer);
|
XML_HIDDEN xmlBufPtr
|
||||||
xmlBufferPtr xmlBufBackToBuffer(xmlBufPtr buf);
|
xmlBufFromBuffer(xmlBufferPtr buffer);
|
||||||
int xmlBufMergeBuffer(xmlBufPtr buf, xmlBufferPtr buffer);
|
XML_HIDDEN xmlBufferPtr
|
||||||
|
xmlBufBackToBuffer(xmlBufPtr buf);
|
||||||
|
XML_HIDDEN int
|
||||||
|
xmlBufMergeBuffer(xmlBufPtr buf, xmlBufferPtr buffer);
|
||||||
|
|
||||||
int xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input);
|
XML_HIDDEN int
|
||||||
size_t xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input);
|
xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input);
|
||||||
int xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
|
XML_HIDDEN size_t
|
||||||
size_t base, size_t cur);
|
xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input);
|
||||||
|
XML_HIDDEN int
|
||||||
|
xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
|
||||||
|
size_t base, size_t cur);
|
||||||
|
|
||||||
#endif /* XML_BUF_H_PRIVATE__ */
|
#endif /* XML_BUF_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
#ifndef XML_DICT_H_PRIVATE__
|
#ifndef XML_DICT_H_PRIVATE__
|
||||||
#define XML_DICT_H_PRIVATE__
|
#define XML_DICT_H_PRIVATE__
|
||||||
|
|
||||||
int __xmlInitializeDict(void);
|
XML_HIDDEN int
|
||||||
void xmlCleanupDictInternal(void);
|
__xmlInitializeDict(void);
|
||||||
int __xmlRandom(void);
|
XML_HIDDEN void
|
||||||
|
xmlCleanupDictInternal(void);
|
||||||
|
XML_HIDDEN int
|
||||||
|
__xmlRandom(void);
|
||||||
|
|
||||||
#endif /* XML_DICT_H_PRIVATE__ */
|
#endif /* XML_DICT_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -4,10 +4,14 @@
|
|||||||
#include <libxml/encoding.h>
|
#include <libxml/encoding.h>
|
||||||
#include <libxml/tree.h>
|
#include <libxml/tree.h>
|
||||||
|
|
||||||
void xmlInitEncodingInternal(void);
|
XML_HIDDEN void
|
||||||
|
xmlInitEncodingInternal(void);
|
||||||
|
|
||||||
int xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len);
|
XML_HIDDEN int
|
||||||
int xmlCharEncInput(xmlParserInputBufferPtr input, int flush);
|
xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len);
|
||||||
int xmlCharEncOutput(xmlOutputBufferPtr output, int init);
|
XML_HIDDEN int
|
||||||
|
xmlCharEncInput(xmlParserInputBufferPtr input, int flush);
|
||||||
|
XML_HIDDEN int
|
||||||
|
xmlCharEncOutput(xmlOutputBufferPtr output, int init);
|
||||||
|
|
||||||
#endif /* XML_ENC_H_PRIVATE__ */
|
#endif /* XML_ENC_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include <libxml/tree.h>
|
#include <libxml/tree.h>
|
||||||
#include <libxml/xmlstring.h>
|
#include <libxml/xmlstring.h>
|
||||||
|
|
||||||
xmlChar *xmlEncodeAttributeEntities(xmlDocPtr doc, const xmlChar *input);
|
XML_HIDDEN xmlChar *
|
||||||
|
xmlEncodeAttributeEntities(xmlDocPtr doc, const xmlChar *input);
|
||||||
|
|
||||||
#endif /* XML_ENTITIES_H_PRIVATE__ */
|
#endif /* XML_ENTITIES_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -4,17 +4,17 @@
|
|||||||
#include <libxml/xmlerror.h>
|
#include <libxml/xmlerror.h>
|
||||||
#include <libxml/xmlversion.h>
|
#include <libxml/xmlversion.h>
|
||||||
|
|
||||||
void
|
XML_HIDDEN void
|
||||||
__xmlRaiseError(xmlStructuredErrorFunc schannel,
|
__xmlRaiseError(xmlStructuredErrorFunc schannel,
|
||||||
xmlGenericErrorFunc channel, void *data, void *ctx,
|
xmlGenericErrorFunc channel, void *data, void *ctx,
|
||||||
void *nod, int domain, int code, xmlErrorLevel level,
|
void *nod, int domain, int code, xmlErrorLevel level,
|
||||||
const char *file, int line, const char *str1,
|
const char *file, int line, const char *str1,
|
||||||
const char *str2, const char *str3, int int1, int col,
|
const char *str2, const char *str3, int int1, int col,
|
||||||
const char *msg, ...) LIBXML_ATTR_FORMAT(16,17);
|
const char *msg, ...) LIBXML_ATTR_FORMAT(16,17);
|
||||||
void
|
XML_HIDDEN void
|
||||||
__xmlSimpleError(int domain, int code, xmlNodePtr node,
|
__xmlSimpleError(int domain, int code, xmlNodePtr node,
|
||||||
const char *msg, const char *extra) LIBXML_ATTR_FORMAT(4,0);
|
const char *msg, const char *extra) LIBXML_ATTR_FORMAT(4,0);
|
||||||
void
|
XML_HIDDEN void
|
||||||
xmlGenericErrorDefaultFunc(void *ctx, const char *msg,
|
xmlGenericErrorDefaultFunc(void *ctx, const char *msg,
|
||||||
...) LIBXML_ATTR_FORMAT(2,3);
|
...) LIBXML_ATTR_FORMAT(2,3);
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
#ifndef XML_GLOBALS_H_PRIVATE__
|
#ifndef XML_GLOBALS_H_PRIVATE__
|
||||||
#define XML_GLOBALS_H_PRIVATE__
|
#define XML_GLOBALS_H_PRIVATE__
|
||||||
|
|
||||||
void xmlInitGlobalsInternal(void);
|
XML_HIDDEN void
|
||||||
void xmlCleanupGlobalsInternal(void);
|
xmlInitGlobalsInternal(void);
|
||||||
|
XML_HIDDEN void
|
||||||
|
xmlCleanupGlobalsInternal(void);
|
||||||
|
|
||||||
#endif /* XML_GLOBALS_H_PRIVATE__ */
|
#endif /* XML_GLOBALS_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
|
|
||||||
#ifdef LIBXML_HTML_ENABLED
|
#ifdef LIBXML_HTML_ENABLED
|
||||||
|
|
||||||
void __htmlParseContent(void *ctx);
|
XML_HIDDEN void
|
||||||
|
__htmlParseContent(void *ctx);
|
||||||
|
|
||||||
#endif /* LIBXML_HTML_ENABLED */
|
#endif /* LIBXML_HTML_ENABLED */
|
||||||
|
|
||||||
|
|||||||
@@ -5,12 +5,14 @@
|
|||||||
#include <libxml/tree.h>
|
#include <libxml/tree.h>
|
||||||
#include <libxml/xmlversion.h>
|
#include <libxml/xmlversion.h>
|
||||||
|
|
||||||
void __xmlIOErr(int domain, int code, const char *extra);
|
XML_HIDDEN void
|
||||||
void __xmlLoaderErr(void *ctx, const char *msg,
|
__xmlIOErr(int domain, int code, const char *extra);
|
||||||
const char *filename) LIBXML_ATTR_FORMAT(2,0);
|
XML_HIDDEN void
|
||||||
|
__xmlLoaderErr(void *ctx, const char *msg,
|
||||||
|
const char *filename) LIBXML_ATTR_FORMAT(2,0);
|
||||||
|
|
||||||
#ifdef LIBXML_OUTPUT_ENABLED
|
#ifdef LIBXML_OUTPUT_ENABLED
|
||||||
xmlOutputBufferPtr
|
XML_HIDDEN xmlOutputBufferPtr
|
||||||
xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder);
|
xmlAllocOutputBufferInternal(xmlCharEncodingHandlerPtr encoder);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
#ifndef XML_MEMORY_H_PRIVATE__
|
#ifndef XML_MEMORY_H_PRIVATE__
|
||||||
#define XML_MEMORY_H_PRIVATE__
|
#define XML_MEMORY_H_PRIVATE__
|
||||||
|
|
||||||
void xmlInitMemoryInternal(void);
|
XML_HIDDEN void
|
||||||
void xmlCleanupMemoryInternal(void);
|
xmlInitMemoryInternal(void);
|
||||||
|
XML_HIDDEN void
|
||||||
|
xmlCleanupMemoryInternal(void);
|
||||||
|
|
||||||
#endif /* XML_MEMORY_H_PRIVATE__ */
|
#endif /* XML_MEMORY_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -17,9 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
#define XML_VCTXT_USE_PCTXT (1u << 1)
|
#define XML_VCTXT_USE_PCTXT (1u << 1)
|
||||||
|
|
||||||
void xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra);
|
XML_HIDDEN void
|
||||||
void __xmlErrEncoding(xmlParserCtxtPtr ctxt, xmlParserErrors xmlerr,
|
xmlErrMemory(xmlParserCtxtPtr ctxt, const char *extra);
|
||||||
const char *msg, const xmlChar *str1,
|
XML_HIDDEN void
|
||||||
const xmlChar *str2) LIBXML_ATTR_FORMAT(3,0);
|
__xmlErrEncoding(xmlParserCtxtPtr ctxt, xmlParserErrors xmlerr,
|
||||||
|
const char *msg, const xmlChar *str1,
|
||||||
|
const xmlChar *str2) LIBXML_ATTR_FORMAT(3,0);
|
||||||
|
|
||||||
#endif /* XML_PARSER_H_PRIVATE__ */
|
#endif /* XML_PARSER_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include <libxml/xmlautomata.h>
|
#include <libxml/xmlautomata.h>
|
||||||
|
|
||||||
void xmlAutomataSetFlags(xmlAutomataPtr am, int flags);
|
XML_HIDDEN void
|
||||||
|
xmlAutomataSetFlags(xmlAutomataPtr am, int flags);
|
||||||
|
|
||||||
#endif /* XML_REGEXP_H_PRIVATE__ */
|
#endif /* XML_REGEXP_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -6,9 +6,11 @@
|
|||||||
|
|
||||||
#ifdef LIBXML_OUTPUT_ENABLED
|
#ifdef LIBXML_OUTPUT_ENABLED
|
||||||
|
|
||||||
void xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc,
|
XML_HIDDEN void
|
||||||
xmlAttrPtr attr, const xmlChar * string);
|
xmlBufAttrSerializeTxtContent(xmlBufPtr buf, xmlDocPtr doc,
|
||||||
void xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur);
|
xmlAttrPtr attr, const xmlChar * string);
|
||||||
|
XML_HIDDEN void
|
||||||
|
xmlNsListDumpOutput(xmlOutputBufferPtr buf, xmlNsPtr cur);
|
||||||
|
|
||||||
#endif /* LIBXML_OUTPUT_ENABLED */
|
#endif /* LIBXML_OUTPUT_ENABLED */
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include <libxml/xmlstring.h>
|
#include <libxml/xmlstring.h>
|
||||||
|
|
||||||
xmlChar *xmlEscapeFormatString(xmlChar **msg);
|
XML_HIDDEN xmlChar *
|
||||||
|
xmlEscapeFormatString(xmlChar **msg);
|
||||||
|
|
||||||
#endif /* XML_STRING_H_PRIVATE__ */
|
#endif /* XML_STRING_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -30,14 +30,21 @@ struct _xmlMutex {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
void __xmlGlobalInitMutexLock(void);
|
XML_HIDDEN void
|
||||||
void __xmlGlobalInitMutexUnlock(void);
|
__xmlGlobalInitMutexLock(void);
|
||||||
void __xmlGlobalInitMutexDestroy(void);
|
XML_HIDDEN void
|
||||||
|
__xmlGlobalInitMutexUnlock(void);
|
||||||
|
XML_HIDDEN void
|
||||||
|
__xmlGlobalInitMutexDestroy(void);
|
||||||
|
|
||||||
void xmlInitThreadsInternal(void);
|
XML_HIDDEN void
|
||||||
void xmlCleanupThreadsInternal(void);
|
xmlInitThreadsInternal(void);
|
||||||
|
XML_HIDDEN void
|
||||||
|
xmlCleanupThreadsInternal(void);
|
||||||
|
|
||||||
void xmlInitMutex(xmlMutexPtr mutex);
|
XML_HIDDEN void
|
||||||
void xmlCleanupMutex(xmlMutexPtr mutex);
|
xmlInitMutex(xmlMutexPtr mutex);
|
||||||
|
XML_HIDDEN void
|
||||||
|
xmlCleanupMutex(xmlMutexPtr mutex);
|
||||||
|
|
||||||
#endif /* XML_THREADS_H_PRIVATE__ */
|
#endif /* XML_THREADS_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -6,12 +6,13 @@
|
|||||||
* node creation/destruction. It avoids spending a lot of time in locking
|
* node creation/destruction. It avoids spending a lot of time in locking
|
||||||
* function while checking if the callback exists.
|
* function while checking if the callback exists.
|
||||||
*/
|
*/
|
||||||
extern int __xmlRegisterCallbacks;
|
XML_HIDDEN extern int
|
||||||
|
__xmlRegisterCallbacks;
|
||||||
|
|
||||||
xmlNodePtr
|
XML_HIDDEN xmlNodePtr
|
||||||
xmlStaticCopyNode(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
|
xmlStaticCopyNode(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent,
|
||||||
int extended);
|
int extended);
|
||||||
xmlNodePtr
|
XML_HIDDEN xmlNodePtr
|
||||||
xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent);
|
xmlStaticCopyNodeList(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent);
|
||||||
|
|
||||||
#endif /* XML_TREE_H_PRIVATE__ */
|
#endif /* XML_TREE_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#include <libxml/xinclude.h>
|
#include <libxml/xinclude.h>
|
||||||
|
|
||||||
int xmlXIncludeSetStreamingMode(xmlXIncludeCtxtPtr ctxt, int mode);
|
XML_HIDDEN int
|
||||||
|
xmlXIncludeSetStreamingMode(xmlXIncludeCtxtPtr ctxt, int mode);
|
||||||
|
|
||||||
#endif /* XML_IO_H_PRIVATE__ */
|
#endif /* XML_IO_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#ifndef XML_XPATH_H_PRIVATE__
|
#ifndef XML_XPATH_H_PRIVATE__
|
||||||
#define XML_XPATH_H_PRIVATE__
|
#define XML_XPATH_H_PRIVATE__
|
||||||
|
|
||||||
void xmlInitXPathInternal(void);
|
XML_HIDDEN void
|
||||||
|
xmlInitXPathInternal(void);
|
||||||
|
|
||||||
#endif /* XML_XPATH_H_PRIVATE__ */
|
#endif /* XML_XPATH_H_PRIVATE__ */
|
||||||
|
|||||||
@@ -16,11 +16,16 @@
|
|||||||
|
|
||||||
typedef void *xzFile; /* opaque lzma file descriptor */
|
typedef void *xzFile; /* opaque lzma file descriptor */
|
||||||
|
|
||||||
xzFile __libxml2_xzopen(const char *path, const char *mode);
|
XML_HIDDEN xzFile
|
||||||
xzFile __libxml2_xzdopen(int fd, const char *mode);
|
__libxml2_xzopen(const char *path, const char *mode);
|
||||||
int __libxml2_xzread(xzFile file, void *buf, unsigned len);
|
XML_HIDDEN xzFile
|
||||||
int __libxml2_xzclose(xzFile file);
|
__libxml2_xzdopen(int fd, const char *mode);
|
||||||
int __libxml2_xzcompressed(xzFile f);
|
XML_HIDDEN int
|
||||||
|
__libxml2_xzread(xzFile file, void *buf, unsigned len);
|
||||||
|
XML_HIDDEN int
|
||||||
|
__libxml2_xzclose(xzFile file);
|
||||||
|
XML_HIDDEN int
|
||||||
|
__libxml2_xzcompressed(xzFile f);
|
||||||
|
|
||||||
#endif /* LIBXML_LZMA_ENABLED */
|
#endif /* LIBXML_LZMA_ENABLED */
|
||||||
|
|
||||||
|
|||||||
9
libxml.h
9
libxml.h
@@ -54,6 +54,15 @@ int vfprintf(FILE *, const char *, va_list);
|
|||||||
#include "trio.h"
|
#include "trio.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(_WIN32) && \
|
||||||
|
!defined(__CYGWIN__) && \
|
||||||
|
(defined(__clang__) || \
|
||||||
|
(defined(__GNUC__) && (__GNUC__ >= 4)))
|
||||||
|
#define XML_HIDDEN __attribute__((visibility("hidden")))
|
||||||
|
#else
|
||||||
|
#define XML_HIDDEN
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(__clang__) || \
|
#if defined(__clang__) || \
|
||||||
(defined(__GNUC__) && (__GNUC__ >= 8))
|
(defined(__GNUC__) && (__GNUC__ >= 8))
|
||||||
#define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg)))
|
#define ATTRIBUTE_NO_SANITIZE(arg) __attribute__((no_sanitize(arg)))
|
||||||
|
|||||||
Reference in New Issue
Block a user