1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-24 13:33:01 +03:00
Commit Graph

87 Commits

Author SHA1 Message Date
Nick Wellnhofer
adfbeb7e08 doc: Stop using *Ptr typedefs in documentation 2025-05-16 18:03:12 +02:00
Nick Wellnhofer
a40f36e7f2 include: Stop using *Ptr typedefs in public headers 2025-05-16 18:03:12 +02:00
Nick Wellnhofer
38ea8fa9de doc: Fix varargs 2025-05-06 19:51:38 +02:00
Nick Wellnhofer
9bbffec568 doc: Move brief to top, params to bottom of doc comments 2025-05-06 19:51:38 +02:00
Nick Wellnhofer
cb1635a642 doc: Use @since command 2025-05-02 19:05:25 +02:00
Nick Wellnhofer
e78e05c990 doc: Fix autolinks to functions
Unfortunately, autolinks in .c files aren't converted by Doxygen for
some reason.
2025-05-02 17:45:31 +02:00
Nick Wellnhofer
4d1e82ce72 doc: Fix xmlTextWriter struct name 2025-05-02 17:41:26 +02:00
Nick Wellnhofer
e549622bc5 doc: Convert documentation to Doxygen
Automated conversion based on a few regexes.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
69879da88f doc: Remove email addresses from documentation
Also remove authorship information from generated files, hash.c and
globals.c which were rewritten.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
61890e399d doc: Prepare for conversion to Doxygen
Fix many params in internal functions (not really necessary but Doxygen
warns about that in XML mode).

Fix formatting in a few corner cases that automatic conversion can't
handle.

Rearrange some DOC_DISABLE blocks.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
b7c0f9d2dd string: Fix va_copy fallback
Fix va_copy fallback reworked in 5cffba83.

Should fix #812.
2024-10-19 14:53:25 +02:00
Nick Wellnhofer
a221cd7849 buf: Rework xmlBuf code
Always use what the old implementation called the "IO" allocation
scheme, allowing to move the content pointer past the initial
allocation. This is inexpensive and allows efficient shrinking.

Optimize xmlBufGrow, reusing shrunken memory as much as possible.

Simplify xmlBufAdd.

Make xmlBufBackToBuffer return an error on overflow.

Make "size" exclude the terminating NULL byte.

Always provide an initial size.

Reintroduce static buffers.

Remove xmlBufResize and several other functions.
2024-07-16 17:42:10 +02:00
Nick Wellnhofer
6be79014d7 Remove unused code 2024-07-15 16:33:38 +02:00
Nick Wellnhofer
598ee0d2c6 error: Remove underscores from xmlRaiseError 2024-06-27 14:43:10 +02:00
Rosen Penev
2def7b4b28 clang-tidy: move assignments out of if
Found with bugprone-assignment-in-if-condition

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-06-20 21:11:44 -07:00
Nick Wellnhofer
faae3a91ce SAX2: Split out legacy SAX1 handling
Split xmlSAX2StartElement into two functions handling legacy SAX1 and
HTML.
2024-06-17 00:54:47 +02:00
Nick Wellnhofer
e314109ad1 save: Don't write directly to internal buffer
Make sure that OOM errors are reported.
2024-02-16 16:14:05 +01:00
Nick Wellnhofer
d2b55a7a02 writer: Implement xmlTextWriterClose
This function can be used to make sure that closing the output stream
succeeded.

Fixes #513.
2024-01-05 20:50:00 +01:00
Nick Wellnhofer
54c70ed57f parser: Improve error handling
Introduce xmlCtxtSetErrorHandler allowing to set a structured error for
a parser context. There already was the "serror" SAX handler but this
always receives the parser context as argument.

Start to use xmlRaiseMemoryError.

Remove useless arguments from memory error functions. Rename
xmlErrMemory to xmlCtxtErrMemory.

Remove a few calls to xmlGenericError.

Remove support for runtime entity debugging.
2023-12-21 02:46:27 +01:00
Nick Wellnhofer
9684e7a0f2 writer: Don't call SAX error handler directly 2023-12-11 22:13:06 +01:00
Nick Wellnhofer
5cffba8381 Rework va_copy fallback
va_copy is a macro, so it can be detected without a feature test.
Fallback to __va_copy or memcpy.
2023-11-28 15:59:40 +01:00
Nick Wellnhofer
a77f9ab84c globals: Don't include SAX2.h from globals.h 2023-09-20 22:06:49 +02:00
Nick Wellnhofer
550eaac605 writer: Add error check in xmlTextWriterEndDocument 2023-04-30 21:45:39 +02:00
Nick Wellnhofer
dd3569eaa5 Remove XMLDECL macro from .c files 2022-12-08 02:43:17 +01:00
Nick Wellnhofer
ad338ca737 Remove explicit integer casts
Remove explicit integer casts as final operation

- in assignments
- when passing arguments
- when returning values

Remove casts

- to the same type
- from certain range-bound values

The main motivation is that these explicit casts don't change the result
of operations and only render UBSan's implicit-conversion checks
useless. Removing these casts allows UBSan to detect cases where
truncation or sign-changes occur unexpectedly.

Document some explicit casts as truncating and add a few missing ones.
2022-09-01 02:33:57 +02:00
Nick Wellnhofer
0f568c0b73 Consolidate private header files
Private functions were previously declared

- in header files in the root directory
- in public headers guarded with IN_LIBXML
- in libxml.h
- redundantly in source files that used them.

Consolidate all private header files in include/private.
2022-08-26 02:11:56 +02:00
David Kilzer
21561e833a Mark more static data as const
Similar to 8f5710379, mark more static data structures with
`const` keyword.

Also fix placement of `const` in encoding.c.

Original patch by Sarah Wilkin.
2022-04-07 12:01:23 -07:00
Nick Wellnhofer
346c3a930c Remove elfgcchack.h
The same optimization can be enabled with -fno-semantic-interposition
since GCC 5. clang has always used this option by default.
2022-02-20 21:49:04 +01:00
Nick Wellnhofer
d8999b1da0 Fix error code in xmlTextWriterStartDocument
Return XML_ERR_UNSUPPORTED_ENCODING if no encoding handler could be
found.

Fixes bug #521808:
https://bugzilla.gnome.org/show_bug.cgi?id=521808

Resolves !53.
2019-10-14 17:06:36 +02:00
Jared Yanovich
2a350ee9b4 Large batch of typo fixes
Closes #109.
2019-09-30 18:04:38 +02:00
Nick Wellnhofer
86615e43bb Fix IO callback signatures 2017-11-09 17:47:47 +01:00
Nick Wellnhofer
4dd6d7a58e Fix list callback signatures
Make sure that all parameters and return values of list callback
functions exactly match the callback function type. This is required
to pass clang's Control Flow Integrity checks and to allow compilation
to asm.js with Emscripten.

Also change the `user` parameter type from `const void *` to `void *`.
2017-11-09 17:28:00 +01:00
J. Peter Mugaas
d2c329a9a4 Fix -Wimplicit-fallthrough warnings
Add "falls through" comments to quench implicit-fallthrough warnings
which are enabled by -Wextra under GCC 7.
2017-10-21 13:49:31 +02:00
David Kilzer
4472c3a5a5 Fix some format string warnings with possible format string vulnerability
For https://bugzilla.gnome.org/show_bug.cgi?id=761029

Decorate every method in libxml2 with the appropriate
LIBXML_ATTR_FORMAT(fmt,args) macro and add some cleanups
following the reports.
2016-05-23 15:01:07 +08:00
Daniel Veillard
c9ecf45d1b Fix xmlTextWriterWriteElement when a null content is given 2014-02-08 02:23:27 +08:00
Patrick Monnerat
0f7a26d844 Improve va_list portability
Support for va_list declared as an array (cannot be referenced
explicitly)
2013-12-12 15:04:43 +08:00
Daniel Veillard
f8e3db0445 Big space and tab cleanup
Remove all space before tabs and space and tabs at end of lines.
2012-09-11 13:26:36 +08:00
Csaba Raduly
429d3a0aae Allow to set the quoting character of an xmlWriter
It's otherwise impossible to set the quoting character of
attribute values of an xmlWriter.
2012-09-11 11:52:46 +08:00
Daniel Veillard
dbf5411b21 Convert the writer to new output buffer and save APIs
Only a handful of places had to be converted for xmlBuf and
the new saving entry point.
2012-07-23 14:24:27 +08:00
Rob Richards
798743a498 * parser.c: use options from current parser context when creating
a parser context within xmlParseCtxtExternalEntity
* xmlwriter.c: fix error message when unable to create output file
2009-06-19 13:54:25 -04:00
Daniel Veillard
bccae2d210 * c14n.c debugXML.c doc/examples/io2.c parser.c schematron.c
valid.c xmlschemas.c xmlwriter.c xpath.c: use %s to printf string
  patch by Christian Persch, fixes #581612
2009-06-04 11:22:45 +02:00
Daniel Veillard
cb0ae19174 cleanups and error reports when xmlTextWriterVSprintf fails, by Jinmei
* xmlwriter.c: cleanups and error reports when xmlTextWriterVSprintf
  fails, by Jinmei Tatuya
daniel

svn path=/trunk/; revision=3817
2009-02-20 08:40:55 +00:00
Daniel Veillard
eb0a0b2e31 remove a couple of leaks on errors reported by Jinmei Tatuya daniel
* xmlwriter.c: remove a couple of leaks on errors reported by
  Jinmei Tatuya
daniel

svn path=/trunk/; revision=3816
2009-02-20 08:19:53 +00:00
Rob Richards
5a7d8bdf71 xmlwriter.c: fix indenting in xmlTextWriterFullEndElement for bug# 554353.
svn path=/trunk/; revision=3805
2008-12-27 13:17:43 +00:00
Daniel Veillard
ccc476f177 patch from Alex Khesin fixing CDATA output after a text node. fixed the
* xmlwriter.c: patch from Alex Khesin fixing CDATA output after
  a text node.
* parser.c: fixed the comment for xmlParserCleanup
* globals.c: fixed indentation
Daniel

svn path=/trunk/; revision=3699
2008-03-04 13:19:49 +00:00
Daniel Veillard
3ff24115d2 applied patch from Alfred Mickautsch to flush the output at the end of
* xmlwriter.c: applied patch from Alfred Mickautsch to flush the
  output at the end of document.
Daniel

svn path=/trunk/; revision=3691
2008-02-13 10:17:41 +00:00
Daniel Veillard
7e26fb4b10 fix indentation in xmlTextWriterFullEndElement, as raised by Felipe Pena,
* xmlwriter.c: fix indentation in xmlTextWriterFullEndElement,
  as raised by Felipe Pena, should fix #508156
Daniel

svn path=/trunk/; revision=3668
2008-01-09 02:19:50 +00:00
Daniel Veillard
caa1951d59 patch from Dodji Seketeli to avoid a leak on repeated uses of
* xmlwriter.c: patch from Dodji Seketeli to avoid a leak on repeated
  uses of xmlTextWriterStartDocument()
Daniel

svn path=/trunk/; revision=3642
2007-07-04 15:42:46 +00:00
Rob Richards
b8769d6f24 fixed problem with namespace declaration being written more than once per
* xmlwriter.c: fixed problem with namespace declaration being 
  written more than once per element start tag

svn path=/trunk/; revision=3623
2007-06-08 08:50:47 +00:00
William M. Brack
c1099be5eb repositioned #include for libxml.h to avoid compilation error on some
* testAutomata.c, testRegexp.c, testThreads.c, testThreadsWin32.c,
  xmlwriter.c: repositioned #include for libxml.h to avoid
  compilation error on some architectures (bug #398277)

svn path=/trunk/; revision=3578
2007-01-31 18:38:56 +00:00