Edit

kc3-lang/libxml2/buf.h

Branch :

  • Show log

    Commit

  • Author : Kurt Roeckx
    Date : 2014-10-13 16:06:21
    Hash : 95ebe53b
    Message : Fix and add const qualifiers For https://bugzilla.gnome.org/show_bug.cgi?id=689483 It seems there are functions that do use the const qualifier for some of the arguments, but it seems that there are a lot of functions that don't use it and probably should. So I created a patch against 2.9.0 that makes as much as possible const in tree.h, and changed other files as needed. There were a lot of cases like "const xmlNodePtr node". This doesn't actually do anything, there the *pointer* is constant not the object it points to. So I changed those to "const xmlNode *node". I also removed some consts, mostly in the Copy functions, because those functions can actually modify the doc or node they copy from

  • buf.h
  • /*
     * Summary: Internal Interfaces for memory buffers in libxml2
     * Description: this module describes most of the new xmlBuf buffer
     *              entry points, those are private routines, with a
     *              few exceptions exported in tree.h. This was added
     *              in 2.9.0.
     *
     * Copy: See Copyright for the status of this software.
     *
     * Author: Daniel Veillard
     */
    
    #ifndef __XML_BUF_H__
    #define __XML_BUF_H__
    
    #include <libxml/tree.h>
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    xmlBufPtr xmlBufCreate(void);
    xmlBufPtr xmlBufCreateSize(size_t size);
    xmlBufPtr xmlBufCreateStatic(void *mem, size_t size);
    
    int xmlBufSetAllocationScheme(xmlBufPtr buf,
                                  xmlBufferAllocationScheme scheme);
    int xmlBufGetAllocationScheme(xmlBufPtr buf);
    
    void xmlBufFree(xmlBufPtr buf);
    void xmlBufEmpty(xmlBufPtr buf);
    
    /* size_t xmlBufShrink(xmlBufPtr buf, size_t len); */
    int xmlBufGrow(xmlBufPtr buf, int len);
    int xmlBufInflate(xmlBufPtr buf, size_t len);
    int xmlBufResize(xmlBufPtr buf, size_t len);
    
    int xmlBufAdd(xmlBufPtr buf, const xmlChar *str, int len);
    int xmlBufAddHead(xmlBufPtr buf, const xmlChar *str, int len);
    int xmlBufCat(xmlBufPtr buf, const xmlChar *str);
    int xmlBufCCat(xmlBufPtr buf, const char *str);
    int xmlBufWriteCHAR(xmlBufPtr buf, const xmlChar *string);
    int xmlBufWriteChar(xmlBufPtr buf, const char *string);
    int xmlBufWriteQuotedString(xmlBufPtr buf, const xmlChar *string);
    
    size_t xmlBufAvail(const xmlBufPtr buf);
    size_t xmlBufLength(const xmlBufPtr buf);
    /* size_t xmlBufUse(const xmlBufPtr buf); */
    int xmlBufIsEmpty(const xmlBufPtr buf);
    int xmlBufAddLen(xmlBufPtr buf, size_t len);
    int xmlBufErase(xmlBufPtr buf, size_t len);
    
    /* const xmlChar * xmlBufContent(const xmlBuf *buf); */
    /* const xmlChar * xmlBufEnd(xmlBufPtr buf); */
    
    xmlChar * xmlBufDetach(xmlBufPtr buf);
    
    size_t xmlBufDump(FILE *file, xmlBufPtr buf);
    
    xmlBufPtr xmlBufFromBuffer(xmlBufferPtr buffer);
    xmlBufferPtr xmlBufBackToBuffer(xmlBufPtr buf);
    int xmlBufMergeBuffer(xmlBufPtr buf, xmlBufferPtr buffer);
    
    int xmlBufResetInput(xmlBufPtr buf, xmlParserInputPtr input);
    size_t xmlBufGetInputBase(xmlBufPtr buf, xmlParserInputPtr input);
    int xmlBufSetInputBaseCur(xmlBufPtr buf, xmlParserInputPtr input,
                              size_t base, size_t cur);
    #ifdef __cplusplus
    }
    #endif
    #endif /* __XML_BUF_H__ */