<feed xmlns='http://www.w3.org/2005/Atom'>
<title>libimobiledevice-glue/src/utils.c, branch 1.3.3</title>
<subtitle>A library to collect common code used around the libimobiledevice project</subtitle>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/'/>
<entry>
<title>utils: Correct ctype(3) usage</title>
<updated>2026-10-03T22:28:58+00:00</updated>
<author>
<name>Masatake Daimon</name>
</author>
<published>2025-11-06T16:42:00+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=283b6bd7619d7c3f3c98dbeccaeb27e70b9ea38f'/>
<id>283b6bd7619d7c3f3c98dbeccaeb27e70b9ea38f</id>
<content type='text'>
According to POSIX.1 the argument of ctype(3) functions, including
toupper(3), has to either be EOF or a value representable as an unsigned
char. If the argument has any other value, the behavior is undefined. This
means values of signed char must first be cast to unsigned char, otherwise
they will be outside the range of allowed values.

glibc attempts to avoid the undefined behavior by defining the functions to
work for all integer inputs representable by either an unsigned char or a
signed char. NetBSD libc does not, and causes a segfault if the value is
invalid.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to POSIX.1 the argument of ctype(3) functions, including
toupper(3), has to either be EOF or a value representable as an unsigned
char. If the argument has any other value, the behavior is undefined. This
means values of signed char must first be cast to unsigned char, otherwise
they will be outside the range of allowed values.

glibc attempts to avoid the undefined behavior by defining the functions to
work for all integer inputs representable by either an unsigned char or a
signed char. NetBSD libc does not, and causes a segfault if the value is
invalid.
</pre>
</div>
</content>
</entry>
<entry>
<title>utils: Remove 'plist helper' from header comment</title>
<updated>2025-05-17T17:31:14+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2025-05-17T17:31:14+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=db53b67ab75c93a6756c87b30f4506de39e1c964'/>
<id>db53b67ab75c93a6756c87b30f4506de39e1c964</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compilation on MSVC</title>
<updated>2024-11-28T16:32:39+00:00</updated>
<author>
<name>Duncan Ogilvie</name>
</author>
<published>2024-11-26T17:39:28+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=9bdf7fe983311e8c573d7c466c2006059645c4ba'/>
<id>9bdf7fe983311e8c573d7c466c2006059645c4ba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Move LIMD_GLUE_API definitions to public headers</title>
<updated>2024-01-30T10:30:12+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2024-01-30T10:30:12+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=7ddaea319550bd44bb295f935bef038a1ac37c3f'/>
<id>7ddaea319550bd44bb295f935bef038a1ac37c3f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove plist-related code in favor of new libplist API</title>
<updated>2023-04-19T16:03:31+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2023-04-19T16:03:31+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=44f2f758f71a11a419743e415321ba0945a87c0f'/>
<id>44f2f758f71a11a419743e415321ba0945a87c0f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang-tidy] Do not use else after return/break/continue</title>
<updated>2022-04-22T14:57:24+00:00</updated>
<author>
<name>Rosen Penev</name>
</author>
<published>2020-12-24T01:39:01+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=c2e237ab5449b42461639c8e1eabbc61d0c386b7'/>
<id>c2e237ab5449b42461639c8e1eabbc61d0c386b7</id>
<content type='text'>
Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang-tidy] utils: Fix too small loop variable</title>
<updated>2022-04-22T11:18:51+00:00</updated>
<author>
<name>Rosen Penev</name>
</author>
<published>2020-12-24T01:25:59+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=1c7619d5d425816a8173c732ae47c1c2e588918b'/>
<id>1c7619d5d425816a8173c732ae47c1c2e588918b</id>
<content type='text'>
Found with bugprone-too-small-loop-variable

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Found with bugprone-too-small-loop-variable

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[clang-tidy] use uppercase numeric literals</title>
<updated>2022-04-22T11:10:14+00:00</updated>
<author>
<name>Rosen Penev</name>
</author>
<published>2020-12-24T01:19:26+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=c6ae88fa11232e198daeab808966301aea557e6c'/>
<id>c6ae88fa11232e198daeab808966301aea557e6c</id>
<content type='text'>
Found with readability-uppercase-literal-suffix

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Found with readability-uppercase-literal-suffix

Signed-off-by: Rosen Penev &lt;rosenp@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>utils: Close file if buffer allocation fails in buffer_read_from_filename()</title>
<updated>2022-04-04T04:43:41+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2022-04-04T04:43:41+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=0da2aa35f2bdfd5b06fc4564a46298a5d689c4fa'/>
<id>0da2aa35f2bdfd5b06fc4564a46298a5d689c4fa</id>
<content type='text'>
Thanks @demhademha for pointing this out.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Thanks @demhademha for pointing this out.
</pre>
</div>
</content>
</entry>
<entry>
<title>utils: Use libplist's plist_from_memory instead of duplicating format detection</title>
<updated>2022-02-09T02:27:48+00:00</updated>
<author>
<name>Nikias Bassen</name>
</author>
<published>2022-02-09T02:27:48+00:00</published>
<link rel='alternate' type='text/html' href='https://cgit.libimobiledevice.org/libimobiledevice-glue.git/commit/?id=ecb0996fd2a3b0539153dd3ef901d137bf498ffe'/>
<id>ecb0996fd2a3b0539153dd3ef901d137bf498ffe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
