<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paraslash/mp4.c, branch next</title>
<subtitle>paraslash - network audio streaming tools</subtitle>
<id>https://git.tue.mpg.de/cgit/paraslash/atom?h=next</id>
<link rel='self' href='https://git.tue.mpg.de/cgit/paraslash/atom?h=next'/>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/'/>
<updated>2026-05-24T18:52:28Z</updated>
<entry>
<title>Fix gcc-16 warnings about unterminated strings.</title>
<updated>2026-05-24T18:52:28Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2026-05-23T20:54:00Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=7736983e1807653817e224b1649a5326decf31bc'/>
<id>urn:sha1:7736983e1807653817e224b1649a5326decf31bc</id>
<content type='text'>
None of the four char arrays are C strings, and they are not supposed to be
passed to functions like strcpy() which look for the first NUL byte.

The nonstring attribute tells the compiler about this fact. Without it, gcc-16
complains, suggesting to annotate the affected variables with __attribute__
((nonstring)). Unfortunately, at least clang-19.1.7 does not know this
attribute and issues a warning, so we check at compile time whether $(CC)
supports it and define __nonstring accordingly.
</content>
</entry>
<entry>
<title>Include regex.h from para.h.</title>
<updated>2025-05-19T17:35:58Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2025-05-18T20:05:45Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=67388cd4fae0cfd1674aada937f4f4d2faeeee1f'/>
<id>urn:sha1:67388cd4fae0cfd1674aada937f4f4d2faeeee1f</id>
<content type='text'>
Every .c file includes it anyway.
</content>
</entry>
<entry>
<title>Prevent doxygen from generating invalid html.</title>
<updated>2024-05-13T17:26:25Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2024-04-28T21:31:38Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=a5d317ab9ba0d75c1786c3fdc152bb7db1628942'/>
<id>urn:sha1:a5d317ab9ba0d75c1786c3fdc152bb7db1628942</id>
<content type='text'>
Doxygen is too stupid to grok the preprocessor tricks we are playing
here, so don't generate documentation for these parts.
</content>
</entry>
<entry>
<title>Compile with -Wsuggest-attribute=malloc.</title>
<updated>2023-12-24T21:37:00Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2023-05-30T22:11:14Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=914ee19c1fd21834fe5f81260daafe76a4475290'/>
<id>urn:sha1:914ee19c1fd21834fe5f81260daafe76a4475290</id>
<content type='text'>
We already employ this attribute extensively to help the compiler
improve optimization. However, a few malloc-like functions were not
yet marked with __malloc. Fix that and enable the warning to make
sure that new malloc-like functions get marked.

Since not all supported compilers know about this warning option, we
need to check at compile time whether the option is supported. Thanks
to the existing cc-option make(1) function, this is a simple one-liner
for Makefile.real.
</content>
</entry>
<entry>
<title>Merge topic branch t/overflow into master</title>
<updated>2022-10-03T16:01:20Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2022-10-03T15:59:56Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=563b56a493d6a2bdcdebafadd907954dbe1de8a8'/>
<id>urn:sha1:563b56a493d6a2bdcdebafadd907954dbe1de8a8</id>
<content type='text'>
This series implements a new memory allocation API which checks
for overflows. The first part of the series just renames the main
allocation functions. Later patches in the series implement allocators
which take two size_t arguments (like calloc(3)) and check whether the
multiplication overflows by employing the __builtin_mul_overflow()
primitive supported by gcc and clang. This requires us to bump the
lowest supported gcc and clang version.

* refs/heads/t/overflow:
  build: Compile with -ftrapv.
  string: Introduce arr_zalloc().
  string: Introduce arr_alloc().
  string: Introduce arr_realloc() and check for integer overflow.
  string: Rename para_calloc() -&gt; zalloc().
  string: Rename para_malloc() -&gt; alloc().
  string: Overhaul para_strdup().
</content>
</entry>
<entry>
<title>mp4: Document the purpose of each atom.</title>
<updated>2022-06-27T14:58:32Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2021-08-30T16:57:15Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=0b0434f3debae3fc5cd768f5de32f84f05e79761'/>
<id>urn:sha1:0b0434f3debae3fc5cd768f5de32f84f05e79761</id>
<content type='text'>
This gives the reader a rough idea about the atoms we care about.
</content>
</entry>
<entry>
<title>mp4: Doxify the public API.</title>
<updated>2022-06-27T14:58:32Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2021-08-28T20:12:41Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=9beef51a322095b6d31046bf87c44365c88e5745'/>
<id>urn:sha1:9beef51a322095b6d31046bf87c44365c88e5745</id>
<content type='text'>
This adds doxygen comments to all public functions of the mp4 API
and to the macros and enumerations of mp4.c.
</content>
</entry>
<entry>
<title>mp4: Check for missing metadata also for regular opens.</title>
<updated>2022-06-27T14:45:56Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2021-08-28T19:15:35Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=b96d1f30be6fda4b3d93aef19e66273260503cac'/>
<id>urn:sha1:b96d1f30be6fda4b3d93aef19e66273260503cac</id>
<content type='text'>
Since we allow to update the metadata of a file handle returned by
mp4_open(), we should check for both types of opens that the file
actually contains the udta, meta and ilst atoms.
</content>
</entry>
<entry>
<title>mp4: Rename mp4_open_read() to mp4_open().</title>
<updated>2022-06-27T14:45:56Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2021-08-28T18:53:23Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=945502385e8261d6921c7e1748fa64f34b7b81fd'/>
<id>urn:sha1:945502385e8261d6921c7e1748fa64f34b7b81fd</id>
<content type='text'>
The function may be called with the intention to update the meta tags
later by calling mp4_update_meta(), albeit mp4_open_meta() is cheaper
if the caller only wants to modify the metadata. The old name is thus
slightly misleading, and it's longer.
</content>
</entry>
<entry>
<title>mp4: Rename mp4_meta_update() to mp4_update_meta().</title>
<updated>2022-06-27T14:45:56Z</updated>
<author>
<name>Andre Noll</name>
<email>maan@tuebingen.mpg.de</email>
</author>
<published>2021-08-28T18:50:13Z</published>
<link rel='alternate' type='text/html' href='https://git.tue.mpg.de/cgit/paraslash/commit/?id=2c59642d28f83452962d7dea0275aef16d9d003b'/>
<id>urn:sha1:2c59642d28f83452962d7dea0275aef16d9d003b</id>
<content type='text'>
Just to be consistent with mp4_open_meta() and friends.
</content>
</entry>
</feed>
