<?xml version="1.0" encoding="utf-8"?>
<!--RSS generated by Flaimo.com RSS Builder [2026-05-28 17:36:43]-->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"><channel><docs>https://www.austingroupbugs.net/</docs><link>https://www.austingroupbugs.net/</link><description><![CDATA[Austin Group Issue Tracker - Issues]]></description><title>Austin Group Issue Tracker - Issues</title><image><title>Austin Group Issue Tracker - Issues</title><url>https://www.austingroupbugs.net/images/AG_HEADER.png</url><link>https://www.austingroupbugs.net/</link><description><![CDATA[Austin Group Issue Tracker - Issues]]></description></image><language>en</language><category>All Projects</category><ttl>10</ttl><dc:language>en</dc:language><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><item><title>0000298: Need a way to refer to the note being added in an update</title><author></author><link>https://www.austingroupbugs.net/view.php?id=298</link><description><![CDATA[When adding a note to a bug when marking it as &quot;accepted as marked&quot; and when&lt;br /&gt;
adding an interpretation response, we end up having to update the bug twice.&lt;br /&gt;
First to add a note and fix most of the status fields and then again to fill in the&lt;br /&gt;
&quot;Final Accepted Text&quot; field with the newly added bugnote reference.  This causes&lt;br /&gt;
extra work for those updating bugs and generates unneeded email messages.]]></description><category>Aardvark Mk III</category><pubDate>Thu, 28 May 2026 16:19:11 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=298</guid><comments>https://www.austingroupbugs.net/view.php?id=298#bugnotes</comments></item><item><title>0000228: Mantis sends quoted &lt;newline&gt; characters instead of real ones in Password Reset mail</title><author></author><link>https://www.austingroupbugs.net/view.php?id=228</link><description><![CDATA[I have received the following message when trying to reset my password:&lt;br /&gt;
&lt;br /&gt;
----v----&lt;br /&gt;
From: Austin Group Bug Tracker &lt;&lt;a href=&quot;mailto:noreply@msnkbrown.net&quot;&gt;noreply@msnkbrown.net&lt;/a&gt;&gt;&lt;br /&gt;
Subject: [Austin Group Defect Tracker] Password Reset&lt;br /&gt;
Message-ID: &lt;&lt;a href=&quot;mailto:457512dd3d0b96d23290ef1bcbe178e5@austingroupbugs.net&quot;&gt;457512dd3d0b96d23290ef1bcbe178e5@austingroupbugs.net&lt;/a&gt;&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;snip&gt;&lt;br /&gt;
&lt;br /&gt;
Someone (presumably you) requested a password change through e-mail&lt;br /&gt;
verification. If this was not you, ignore this message and nothing will&lt;br /&gt;
happen.\n\nIf you requested this verification, visit the following URL to change&lt;br /&gt;
your password: &lt;br /&gt;
&lt;br /&gt;
&lt;snip&gt;&lt;br /&gt;
----^----]]></description><category>Aardvark Mk III</category><pubDate>Thu, 28 May 2026 16:18:54 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=228</guid><comments>https://www.austingroupbugs.net/view.php?id=228#bugnotes</comments></item><item><title>0000204: Fix Message-ID headers in next version of Mantis (Tracker notifications have incorrect mail headers)</title><author></author><link>https://www.austingroupbugs.net/view.php?id=204</link><description><![CDATA[The Austin Group Bug Tracker sends messages with 2 Message-ID headers:&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
Subject: [1003.1(2008)/Issue 7 0000129]: exception to syntax guidelines for -I&lt;br /&gt;
Date: Wed, 5 Aug 2009 15:12:18 +0000&lt;br /&gt;
From: Austin Group Bug Tracker &lt;&lt;a href=&quot;mailto:noreply@msnkbrown.net&quot;&gt;noreply@msnkbrown.net&lt;/a&gt;&gt;&lt;br /&gt;
Message-ID: &lt;&lt;a href=&quot;mailto:3e797608891e599f1193f27f81c4c242@austingroupbugs.net&quot;&gt;3e797608891e599f1193f27f81c4c242@austingroupbugs.net&lt;/a&gt;&gt;&lt;br /&gt;
X-Priority: 3&lt;br /&gt;
X-Mailer: PHPMailer [version 1.73]&lt;br /&gt;
keywords: [1003.1(2008)/Issue 7] Shell and Utilities&lt;br /&gt;
Message-ID: &lt;a6c6e0f6af8203f217175fa3dab44bad&gt;&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Also note that the second Message-Id is incorrect (missing domain&lt;br /&gt;
part).&lt;br /&gt;
&lt;br /&gt;
A second mail was sent, with a note added to the issue. This one&lt;br /&gt;
contains only one (correct) Message-Id, but the In-Reply-To header&lt;br /&gt;
references the wrong Message-Id:&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
Subject: [1003.1(2008)/Issue 7 0000129]: exception to syntax guidelines for -I&lt;br /&gt;
Date: Wed, 5 Aug 2009 20:00:48 +0000&lt;br /&gt;
From: Austin Group Bug Tracker &lt;&lt;a href=&quot;mailto:noreply@msnkbrown.net&quot;&gt;noreply@msnkbrown.net&lt;/a&gt;&gt;&lt;br /&gt;
Message-ID: &lt;&lt;a href=&quot;mailto:80ab3cdfdc0269c6797c80cd065aa4b0@austingroupbugs.net&quot;&gt;80ab3cdfdc0269c6797c80cd065aa4b0@austingroupbugs.net&lt;/a&gt;&gt;&lt;br /&gt;
X-Priority: 3&lt;br /&gt;
X-Mailer: PHPMailer [version 1.73]&lt;br /&gt;
keywords: [1003.1(2008)/Issue 7] Shell and Utilities&lt;br /&gt;
In-Reply-To: &lt;a6c6e0f6af8203f217175fa3dab44bad&gt;&lt;br /&gt;
[...]]]></description><category>Aardvark Mk III</category><pubDate>Thu, 28 May 2026 16:18:33 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=204</guid><comments>https://www.austingroupbugs.net/view.php?id=204#bugnotes</comments></item><item><title>0000116: Ability to search on Line Number 0</title><author></author><link>https://www.austingroupbugs.net/view.php?id=116</link><description><![CDATA[I note that I can't set a filter for &quot;Page Number&quot; with value &quot;0&quot; or&lt;br /&gt;
&quot;Line Number&quot; with value &quot;0&quot; to look for bugs that may need to have&lt;br /&gt;
page and line numbers filled in.  Setting Page Number or Line Number&lt;br /&gt;
to 0 and hitting Apply Filter turns the field value into &quot;any&quot;.  Is&lt;br /&gt;
there a way around this?]]></description><category>Aardvark Mk III</category><pubDate>Thu, 28 May 2026 16:16:11 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=116</guid><comments>https://www.austingroupbugs.net/view.php?id=116#bugnotes</comments></item><item><title>0001982: probably-unintended wording difference with ISO C in mbrtowc(3) and mbrtowcs(3)</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1982</link><description><![CDATA[I'm forwarding a report I received by email from someone else.&lt;br /&gt;
&lt;br /&gt;
On 2026-05-21T23:08:20+0800, Kang-Che Sung wrote:&lt;br /&gt;
&gt; There's a discrepancy in the wording of the mbrtowc(3) function (and&lt;br /&gt;
&gt; similarly, mbsrtowcs(3) function) between in POSIX and ISO C. It could be&lt;br /&gt;
&gt; reported as an issue to POSIX (the Austin Group), and I am not sure if you&lt;br /&gt;
&gt; can do that.&lt;br /&gt;
&gt;&lt;br /&gt;
&gt; In ISO C (I checked in both C99 and C23, in particular the N3220 draft),&lt;br /&gt;
&gt; there's a statement that if mbrtowc() returns a (size_t)(-1) as an encoding&lt;br /&gt;
&gt; error occurs, &quot;the conversion state is unspecified&quot;.&lt;br /&gt;
&gt;&lt;br /&gt;
&gt; POSIX (see &lt;&lt;br /&gt;
&gt; &lt;a href=&quot;https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbrtowc.html&gt;&quot; rel=&quot;noopener&quot;&gt;https://pubs.opengroup.org/onlinepubs/9799919799/functions/mbrtowc.html&gt;&lt;/a&gt;),&lt;br /&gt;
&gt; for the same part it says &quot;the conversion state is undefined&quot;.&lt;br /&gt;
&gt;&lt;br /&gt;
&gt; This wording difference matters when the &quot;unspecified behavior&quot; and&lt;br /&gt;
&gt; &quot;undefined behavior&quot; are technically different. An example is how the&lt;br /&gt;
&gt; mbstate_t object can be reused after an invalid sequence is encountered.&lt;br /&gt;
&gt; When the state is said to be &quot;undefined&quot; it's implied to be not usable&lt;br /&gt;
&gt; again (unless it is reset, e.g., by an `mbrtowc(NULL, &quot;&quot;, 1, ps)` call).&lt;br /&gt;
&gt; When it's &quot;unspecified&quot; then implementations can allow the state to be&lt;br /&gt;
&gt; reused for certain encodings (possible for UTF-8, for example).&lt;br /&gt;
&gt;&lt;br /&gt;
&gt; This is something I discovered accidentally when researching the multibyte&lt;br /&gt;
&gt; functions in the C standard library and how they work with an encoding like&lt;br /&gt;
&gt; UTF-8.&lt;br /&gt;
&lt;br /&gt;
Reported-by: Kang-Che Sung &lt;&lt;a href=&quot;mailto:explorer09@gmail.com&quot;&gt;explorer09@gmail.com&lt;/a&gt;&gt;]]></description><category>System Interfaces</category><pubDate>Thu, 28 May 2026 16:15:44 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1982</guid><comments>https://www.austingroupbugs.net/view.php?id=1982#bugnotes</comments></item><item><title>0001981: Request to define ssize_t as the signed version of size_t</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1981</link><description><![CDATA[Currently ssize_t is defined as:&lt;br /&gt;
ssize_t shall be signed integer types.&lt;br /&gt;
The type ssize_t shall be capable of storing values at least in the range [-1, {SSIZE_MAX}].&lt;br /&gt;
&lt;br /&gt;
But the sizeof ssize_t is not explicitly defined.&lt;br /&gt;
&lt;br /&gt;
And for glibc,musl,cygwin newlib, they all defined that sizeof(ssize_t)=== sizeof(size_t)&lt;br /&gt;
&lt;br /&gt;
And maybe because the sizeof ssize_t is not defined clearly. clang did not defined the sizeof of ssize_t well:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://github.com/llvm/llvm-project/issues/198975&quot; rel=&quot;noopener&quot;&gt;https://github.com/llvm/llvm-project/issues/198975&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The glibc defined the sizeof ssize_t to be equal to size_t by the following codes:&lt;br /&gt;
#if __WORDSIZE == 32&lt;br /&gt;
# define __SWORD_TYPE		int&lt;br /&gt;
#else&lt;br /&gt;
# define __SWORD_TYPE		long int&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
at&lt;br /&gt;
&lt;a href=&quot;https://sourceware.org/git/?p=glibc.git;a=blob;f=posix/bits/types.h;h=33b582a8eabf09aadc093658db82353c288590d2;hb=HEAD#l118&quot; rel=&quot;noopener&quot;&gt;https://sourceware.org/git/?p=glibc.git;a=blob;f=posix/bits/types.h;h=33b582a8eabf09aadc093658db82353c288590d2;hb=HEAD#l118&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
#define __SSIZE_T_TYPE          __SWORD_TYPE&lt;br /&gt;
at&lt;br /&gt;
&lt;a href=&quot;https://sourceware.org/git/?p=glibc.git;a=blob;f=bits/typesizes.h;h=466dd36681a7364952e49b73067d66174543cffd;hb=HEAD#l60&quot; rel=&quot;noopener&quot;&gt;https://sourceware.org/git/?p=glibc.git;a=blob;f=bits/typesizes.h;h=466dd36681a7364952e49b73067d66174543cffd;hb=HEAD#l60&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error.  */&lt;br /&gt;
at&lt;br /&gt;
&lt;a href=&quot;https://sourceware.org/git/?p=glibc.git;a=blob;f=posix/bits/types.h;h=33b582a8eabf09aadc093658db82353c288590d2;hb=HEAD#l194&quot; rel=&quot;noopener&quot;&gt;https://sourceware.org/git/?p=glibc.git;a=blob;f=posix/bits/types.h;h=33b582a8eabf09aadc093658db82353c288590d2;hb=HEAD#l194&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
#ifndef __ssize_t_defined&lt;br /&gt;
typedef __ssize_t ssize_t;&lt;br /&gt;
# define __ssize_t_defined&lt;br /&gt;
#endif&lt;br /&gt;
at&lt;br /&gt;
&lt;a href=&quot;https://sourceware.org/git/?p=glibc.git;a=blob;f=posix/sys/types.h;h=2b524761748fc2e0576e3b86fd5558e8a9ebcb18;hb=HEAD#l108&quot; rel=&quot;noopener&quot;&gt;https://sourceware.org/git/?p=glibc.git;a=blob;f=posix/sys/types.h;h=2b524761748fc2e0576e3b86fd5558e8a9ebcb18;hb=HEAD#l108&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
And the document of __WORDSIZE is:&lt;br /&gt;
/* Size in bits of the 'long int' and pointer types.  */&lt;br /&gt;
#define __WORDSIZE&lt;br /&gt;
at &lt;br /&gt;
&lt;a href=&quot;https://sourceware.org/git/?p=glibc.git;a=blob;f=bits/wordsize.h;h=53013a9275c7c81eccb0356ab956eb2688bcf512;hb=HEAD#l7&quot; rel=&quot;noopener&quot;&gt;https://sourceware.org/git/?p=glibc.git;a=blob;f=bits/wordsize.h;h=53013a9275c7c81eccb0356ab956eb2688bcf512;hb=HEAD#l7&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
So basically glibc is already ensure ssize_t is the same size as size_t. Even thoug the command &quot;/* Size in bits of the 'long int' and pointer types.  */&quot; is a bit mis-leading.&lt;br /&gt;
As sizeof pointer will  not always have the same size as size_t.]]></description><category>Base Definitions and Headers</category><pubDate>Thu, 28 May 2026 16:01:32 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1981</guid><comments>https://www.austingroupbugs.net/view.php?id=1981#bugnotes</comments></item><item><title>0001980: misleading reference to $(jobs -p) in jobs application usage</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1980</link><description><![CDATA[In the &quot;APPLICATION USAGE&quot; section, the jobs utility&lt;br /&gt;
specification currently has:&lt;br /&gt;
&lt;br /&gt;
&gt; Usage such as $(jobs -p) provides a way of referring to the&lt;br /&gt;
&gt; process group of the job in an implementation-independent way.&lt;br /&gt;
&lt;br /&gt;
However, $(...) instroduces a subshell environment and the&lt;br /&gt;
&quot;DESCRIPTION&quot; section has:&lt;br /&gt;
&lt;br /&gt;
&gt; If the current shell execution environment (see 2.13 Shell&lt;br /&gt;
&gt; Execution Environment) is not a subshell environment, the jobs&lt;br /&gt;
&gt; utility shall display the status of background jobs that were&lt;br /&gt;
&gt; created in the current shell execution environment; it may&lt;br /&gt;
&gt; also do so if the current shell execution environment is a&lt;br /&gt;
&gt; subshell environment.&lt;br /&gt;
&lt;br /&gt;
Meaning the expansion of $(jobs -p) is unspecified.&lt;br /&gt;
&lt;br /&gt;
What &quot;so&quot; means above in &quot;it may also do so&quot; should be clarified&lt;br /&gt;
as it's unclear whether it may report jobs of the shell outside&lt;br /&gt;
subshell environments, or jobs of the subshell environment or of&lt;br /&gt;
the parent subshell environment or combinations thereof.&lt;br /&gt;
&lt;br /&gt;
In practice, there's a lot of variation between shells and in&lt;br /&gt;
some shells, not all subshells are equal, with the ones created&lt;br /&gt;
by command substitution treated differently from some other ones&lt;br /&gt;
in some for instance.&lt;br /&gt;
&lt;br /&gt;
With bash:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;
$ bash -c 'sleep 1 &amp; (sleep 2 &amp; (sleep 3 &amp; jobs))'
[1]+  Running                    sleep 3 &amp;
$ bash -c 'sleep 1 &amp; (sleep 2 &amp; printf &quot;%s\n&quot; &quot;$(sleep 3 &amp; jobs)&quot;)'
[1]-  Running                    sleep 2 &amp;
[2]+  Running                    sleep 3 &amp;
&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Similarly for subshells incurred by pipelines:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;
$ bash -c 'sleep 1 &amp; (jobs)'
$ bash -c 'sleep 1 &amp; jobs | cat'
[1]+  Running                    sleep 1 &amp;
&lt;/pre&gt;]]></description><category>Shell and Utilities</category><pubDate>Thu, 21 May 2026 16:09:36 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1980</guid><comments>https://www.austingroupbugs.net/view.php?id=1980#bugnotes</comments></item><item><title>0001979: conflicting specification for open("existing-directory", O_RDONLY | O_CREAT, 0644)</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1979</link><description><![CDATA[The description of open() explains O_CREAT with a paragraph that starts:&lt;br /&gt;
&lt;br /&gt;
O_CREAT   If the file exists, this flag has no effect except as noted under O_EXCL below.  &lt;...&gt;&lt;br /&gt;
&lt;br /&gt;
'file' is of course the XBD 'file' which includes directories, devices, etc.  So, open(O_RDONLY|O_CREAT) naming a directory that exists should behave the same as open(O_RDONLY) of that same path.&lt;br /&gt;
&lt;br /&gt;
Then later the ERRORS section contradicts that:&lt;br /&gt;
&lt;br /&gt;
[EISDIR]    The named file is a directory and oflag includes O_WRONLY or O_RDWR, or&lt;br /&gt;
                  includes O_CREAT without O_DIRECTORY, or &lt;...&gt;]]></description><category>System Interfaces</category><pubDate>Thu, 21 May 2026 15:34:08 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1979</guid><comments>https://www.austingroupbugs.net/view.php?id=1979#bugnotes</comments></item><item><title>0001978: Standardize .shrc as the default interactive sh start-up file when ENV is unset</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1978</link><description><![CDATA[Many shells support rc files as a way for the user to provide an initialization script for their interactive shell (for example, Bash's .bashrc and the Korn family's .kshrc). However, there is no standard location that the user can rely on for a portable POSIX sh initialization script across compliant systems. The only standard user initialization mechanism in POSIX sh is the ENV environment variable, but that mechanism is only useful if ENV has first been set, typically by a login profile or by implementation-specific start-up processing, and in existing practice it is also used either directly as the interactive initialization file or to name a shell-specific rc file.&lt;br /&gt;
&lt;br /&gt;
The following is a proposal to introduce the .shrc file to be used by interactive sh when the ENV variable is not set. This preserves the precedence of the existing standard mechanism, which already commonly takes precedence over per-shell rc-file initialization, and provides a standard fallback location for portable POSIX sh use. This mechanism is essentially the analogue in POSIX sh of the POSIX ex/vi .exrc file (where EXINIT takes precedence over .exrc), and some of the wording has been borrowed from its definition.]]></description><category>Shell and Utilities</category><pubDate>Fri, 15 May 2026 00:44:17 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1978</guid><comments>https://www.austingroupbugs.net/view.php?id=1978#bugnotes</comments></item><item><title>0001977: posix_spawn_file_actions_addopen and posix_spawn_file_actions_adddup2 contridiction with respect to OPEN_MAX.</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1977</link><description><![CDATA[The ERRORS section for posix_spawn_file_actions_addopen states that it should fail with errno set to EBADF if &quot;The value specified by fildes is negative or greater than or equal to {OPEN_MAX}.&quot; It then goes on to state that &quot;It shall not be considered an error for the fildes argument passed to these functions to specify a file descriptor for which the specified operation could not be performed at the time of the call. Any such error shall be detected when the associated file actions object is later used during a posix_spawn() or posix_spawnp() operation.&quot; The same text is used for posix_spawn_file_actions_adddup2.&lt;br /&gt;
&lt;br /&gt;
On systems where the open file descriptor limit can be changed and OPEN_MAX returns the limit given by RLIMIT_NOFILE, this text is contradictory. The first quoted text suggests that increasing RLIMIT_NOFILE after posix_spawn_file_actions_addopen, but before posix_spawn, is not allowed. The second quoted text suggests that it is allowed.&lt;br /&gt;
&lt;br /&gt;
The description of &lt;a href=&quot;https://austingroupbugs.net/view.php?id=418&quot; rel=&quot;noopener&quot;&gt;https://austingroupbugs.net/view.php?id=418&lt;/a&gt; only mentions the second quoted text for posix_spawn_file_actions_addclose. However, at some point it seems to have changed to &quot;these functions&quot;. Therefore, I think it was probably the intention to make this change.]]></description><category>System Interfaces</category><pubDate>Thu, 14 May 2026 15:40:08 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1977</guid><comments>https://www.austingroupbugs.net/view.php?id=1977#bugnotes</comments></item><item><title>0000418: posix_spawn_file_actions_addclose() should not check against OPEN_MAX</title><author></author><link>https://www.austingroupbugs.net/view.php?id=418</link><description><![CDATA[On some systems there can be file descriptors open that are greater&lt;br /&gt;
than or equal to {OPEN_MAX} (if {OPEN_MAX} is reduced after they were&lt;br /&gt;
opened).  These need to be able to be closed on spawn, therefore&lt;br /&gt;
posix_spawn_file_actions_addclose() should not be required to check&lt;br /&gt;
against {OPEN_MAX}.]]></description><category>System Interfaces</category><pubDate>Thu, 14 May 2026 15:12:02 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=418</guid><comments>https://www.austingroupbugs.net/view.php?id=418#bugnotes</comments></item><item><title>0001970: exit status unclear for iconv -c on invalid input</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1970</link><description><![CDATA[The iconv utility specification has:&lt;br /&gt;
&lt;br /&gt;
&gt; The presence or absence of -c shall not affect the exit status of iconv.&lt;br /&gt;
&lt;br /&gt;
Which suggests that iconv should return the same exit status with -c that it should without.&lt;br /&gt;
&lt;br /&gt;
But the exit status section has:&lt;br /&gt;
&lt;br /&gt;
&gt; &gt;0&lt;br /&gt;
&gt;    An error occurred.&lt;br /&gt;
&lt;br /&gt;
Which seems to be in contradiction.&lt;br /&gt;
&lt;br /&gt;
AFAICT, both the iconv that comes with GNU libc and GNU libiconv exit with status 1 and no error message in:&lt;br /&gt;
&lt;br /&gt;
printf '\303\n' | iconv -c -f UTF-8&lt;br /&gt;
&lt;br /&gt;
For instance and the one from FreeBSD gives no error and exit with 0.&lt;br /&gt;
&lt;br /&gt;
I've not tested other implementations.&lt;br /&gt;
&lt;br /&gt;
BTW, all three implementations exit with 1 and report an error message when the decoding error is found at the end (like in printf '\303' | iconv -c -f UTF-8), which seems to be in breach of the POSIX specification. Not sure whether that's intentional or not.]]></description><category>Shell and Utilities</category><pubDate>Sat, 09 May 2026 07:32:38 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1970</guid><comments>https://www.austingroupbugs.net/view.php?id=1970#bugnotes</comments></item><item><title>0001976: specify array variables and syntax</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1976</link><description><![CDATA[POSIX sh specifies one array per function, the argument array&lt;br /&gt;
&lt;br /&gt;
many sh implementations support having array variables past the argument array&lt;br /&gt;
&lt;br /&gt;
due to posix shell specifying a syntax for the argument array, sh implementations&lt;br /&gt;
with array extensions naturally landed on similar and compatible syntax&lt;br /&gt;
&lt;br /&gt;
mksh, ksh93, bash, zsh, osh, yash, all support the following syntax:&lt;br /&gt;
	foo=(a b &quot;c d&quot; e)&lt;br /&gt;
	foo+=(f g)&lt;br /&gt;
	&quot;${foo[@]}&quot; # a b &quot;c d&quot; e f g&lt;br /&gt;
	&quot;${foo[*]}&quot; # &quot;a b c d e f g&quot;&lt;br /&gt;
	&quot;${foo[expr]}&quot; # indexed by expr, where expr is evaluated like $(( expr ))&lt;br /&gt;
	&quot;${#foo[@]}&quot; # 6, the lenght of foo&lt;br /&gt;
&lt;br /&gt;
additionally, mksh, ksh, and zsh, support declaring arrays as such:&lt;br /&gt;
	set -A name -- values&lt;br /&gt;
&lt;br /&gt;
notably ksh does not implement the name=(values) syntax, but has no other syntax&lt;br /&gt;
that would conflict with it either&lt;br /&gt;
&lt;br /&gt;
ash and dash do not currently implement any sort of arrays, but also have&lt;br /&gt;
no syntax that conflicts with the existing extensions]]></description><category>Shell and Utilities</category><pubDate>Sat, 25 Apr 2026 06:04:11 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1976</guid><comments>https://www.austingroupbugs.net/view.php?id=1976#bugnotes</comments></item><item><title>0001971: Changing lex prefixes</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1971</link><description><![CDATA[The yacc utility has a -p option that allows the use of a prefix other than the default &quot;yy&quot; - which is useful when linking multiple parsers in the same program/library. Alas, lex does not have a similar option even though they are supposed to be used together. This is an interface mismatch.]]></description><category>Shell and Utilities</category><pubDate>Thu, 23 Apr 2026 17:39:35 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1971</guid><comments>https://www.austingroupbugs.net/view.php?id=1971#bugnotes</comments></item><item><title>0001975: at_quick_exit Description in Search Results has Stray Characters</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1975</link><description><![CDATA[When searching for _exit at &lt;a href=&quot;https://pubs.opengroup.org/onlinepubs/9799919799/,&quot; rel=&quot;noopener&quot;&gt;https://pubs.opengroup.org/onlinepubs/9799919799/,&lt;/a&gt; the search results pane shows these results:&lt;br /&gt;
&lt;br /&gt;
_Exit, _exit — terminate a process&lt;br /&gt;
at_quick_exit — register a function to to be called from \f2quick_exit()&lt;br /&gt;
pthread_exit — thread termination&lt;br /&gt;
quick_exit — terminate a process&lt;br /&gt;
thrd_exit — thread termination&lt;br /&gt;
&lt;br /&gt;
Notice the &quot;\f2&quot; before quick_exit() on line 2. This error does not appear on the linked to page for quick_exit().]]></description><category>System Interfaces</category><pubDate>Thu, 23 Apr 2026 17:08:49 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1975</guid><comments>https://www.austingroupbugs.net/view.php?id=1975#bugnotes</comments></item><item><title>0001974: tabs: wrong description of semantics of arbitrary tab stops</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1974</link><description><![CDATA[To get tab stops with a standard interval of 8:&lt;br /&gt;
$ tabs -8&lt;br /&gt;
&lt;br /&gt;
Analogous to that when arbitrary tab stops are used:&lt;br /&gt;
$ tabs 1,9,17,25&lt;br /&gt;
&lt;br /&gt;
Tab stop value:&lt;br /&gt;
&lt;br /&gt;
* is &gt; 0&lt;br /&gt;
* represents a column (left-most being 1) where cursor moves and output occurs after preceding \t character&lt;br /&gt;
* as a special case, the 1st tab stop value is always 1 (whether explicitly specified or not) to demonstrate that without preceding \t character output occurs in the left-most column&lt;br /&gt;
&lt;br /&gt;
The above is true for most common implementation of tabs from ncurses.&lt;br /&gt;
&lt;br /&gt;
I believe that indicated sentence:&lt;br /&gt;
&lt;br /&gt;
&gt; The phrase &quot;tab-stop position N&quot; shall be taken to mean that, from the start&lt;br /&gt;
of a line of output, tabbing to position N shall cause the next character output&lt;br /&gt;
to be in the (N+1)th column position on that line.&lt;br /&gt;
&lt;br /&gt;
is wrong with regards to what actual semantics of operand(s) is.&lt;br /&gt;
&lt;br /&gt;
For additional context, this came up in following:&lt;br /&gt;
&lt;br /&gt;
* &lt;a href=&quot;https://github.com/gwsw/less/issues/737&quot; rel=&quot;noopener&quot;&gt;https://github.com/gwsw/less/issues/737&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I've tried to summarize in following comment:&lt;br /&gt;
&lt;br /&gt;
* &lt;a href=&quot;https://github.com/gwsw/less/issues/737#issuecomment-4033517061&quot; rel=&quot;noopener&quot;&gt;https://github.com/gwsw/less/issues/737#issuecomment-4033517061&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Further of note are comments by &lt;span class=&quot;mention&quot;&gt;&lt;a href=&quot;https://www.austingroupbugs.net/view_user_page.php?id=761&quot;&gt;@avih&lt;/a&gt;&lt;/span&gt; who were instrumental in tracking down&lt;br /&gt;
historical sources of tabs and its documentation.]]></description><category>Shell and Utilities</category><pubDate>Thu, 23 Apr 2026 15:58:51 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1974</guid><comments>https://www.austingroupbugs.net/view.php?id=1974#bugnotes</comments></item><item><title>0001969: strptime() %y with a 1 digit field</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1969</link><description><![CDATA[The strptime() %y description says it is the &quot;last 2 digits of the year&quot; but this is misleading, as later text makes it clear the field can have 1 digit.&lt;br /&gt;
&lt;br /&gt;
Specifically, the description of %y says &quot;leading zeros shall be permitted but shall not be required&quot;. Since leading zeros are not required, a single digit input field is explicitly permitted, e.g. &quot;1&quot; is allowed; it doesn't have to be &quot;01&quot;. Likewise, the statement &quot;A leading '+' or '-' character shall be permitted&quot; means that there is no requirement for there to be two digits because the only way for a 2-character field to have a leading '+' or '-' is if the second character is the only digit.]]></description><category>System Interfaces</category><pubDate>Thu, 16 Apr 2026 05:38:16 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1969</guid><comments>https://www.austingroupbugs.net/view.php?id=1969#bugnotes</comments></item><item><title>0001966: Current/previous job definition scattered and ambiguous</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1966</link><description><![CDATA[POSIX defines the &quot;current job&quot; as:&lt;br /&gt;
&lt;br /&gt;
&gt; In the context of job control, the job that will be used as&lt;br /&gt;
&gt; the default for the fg or bg utilities.&lt;br /&gt;
&lt;br /&gt;
(&lt;a href=&quot;https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/basedefs/V1_chap03.html#tag_03_93&quot; rel=&quot;noopener&quot;&gt;https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/basedefs/V1_chap03.html#tag_03_93&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
With the fg utility specification stating:&lt;br /&gt;
&lt;br /&gt;
&gt; no job_id operand is given, the job_id for the job that was&lt;br /&gt;
&gt; most recently suspended, placed in the background, or run as a&lt;br /&gt;
&gt; background job shall be used.&lt;br /&gt;
&lt;br /&gt;
(&lt;a href=&quot;https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/fg.html&quot; rel=&quot;noopener&quot;&gt;https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/fg.html&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Previous job is defined as:&lt;br /&gt;
&lt;br /&gt;
&gt; In the context of job control, the job that will be used as&lt;br /&gt;
&gt; the default for the fg or bg utilities if the current job&lt;br /&gt;
&gt; exits.&lt;br /&gt;
&lt;br /&gt;
(&lt;a href=&quot;https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/basedefs/V1_chap03.html#tag_03_286&quot; rel=&quot;noopener&quot;&gt;https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/basedefs/V1_chap03.html#tag_03_286&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
We however need to refer to the &quot;jobs&quot; utility specification to&lt;br /&gt;
make some sense out of that:&lt;br /&gt;
&lt;br /&gt;
&gt; The character '+' identifies the job that would be used as a&lt;br /&gt;
&gt; default for the fg or bg utilities; this job can also be&lt;br /&gt;
&gt; specified using the job_id %+ or &quot;%%&quot;. The character '-'&lt;br /&gt;
&gt; identifies the job that would become the default if the&lt;br /&gt;
&gt; current default job were to exit; this job can also be&lt;br /&gt;
&gt; specified using the job_id %-. For other jobs, this field is a&lt;br /&gt;
&gt; &lt;space&gt;. At most one job can be identified with '+' and at&lt;br /&gt;
&gt; most one job can be identified with '-'. If there is any&lt;br /&gt;
&gt; suspended job, then the current job shall be a suspended job.&lt;br /&gt;
&gt; If there are at least two suspended jobs, then the previous&lt;br /&gt;
&gt; job also shall be a suspended job.&lt;br /&gt;
&lt;br /&gt;
(&lt;a href=&quot;https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/jobs.html&quot; rel=&quot;noopener&quot;&gt;https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/jobs.html&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
That suggests &quot;the job_id for the job that was most recently&lt;br /&gt;
suspended, placed in the background, or run as a background job&lt;br /&gt;
shall be used&quot; from the &quot;current job&quot; definition is to be&lt;br /&gt;
interpreted as:&lt;br /&gt;
1. the most recently suspend job if there are suspended jobs&lt;br /&gt;
2. if not, the job most recently &quot;placed in the background&quot;&lt;br /&gt;
(whatever that means) if there are some.&lt;br /&gt;
3. if not the job most recently started in background.&lt;br /&gt;
&lt;br /&gt;
As far I know, the only ways to &quot;place&quot; a job in the background&lt;br /&gt;
are to suspend them whilst they are in foreground or start them&lt;br /&gt;
in background in the first place, so there are several ways to&lt;br /&gt;
interpret that &quot;2&quot; above:&lt;br /&gt;
&lt;br /&gt;
a) 3 is redundant but it's to emphasis that it's the time of&lt;br /&gt;
last suspend (whilst in foreground, or not, to be clarified)&lt;br /&gt;
that's important for those jobs that have been suspended.&lt;br /&gt;
b) it's to say that jobs that have ever been suspended (have&lt;br /&gt;
ever been in foreground before) take precedence over jobs that&lt;br /&gt;
were started in background in the first place and were never&lt;br /&gt;
suspended.&lt;br /&gt;
c) maybe &quot;resumed in background&quot; (by way of bg or any other way&lt;br /&gt;
SIGCONT is delivered) was intended instead of &quot;placed in&lt;br /&gt;
background&quot;.&lt;br /&gt;
&lt;br /&gt;
The Rationale there also has:&lt;br /&gt;
&lt;br /&gt;
&gt; The job control features provided by bg, fg, and jobs are&lt;br /&gt;
&gt; based on the KornShell. The standard developers examined the&lt;br /&gt;
&gt; characteristics of the C shell versions of these utilities and&lt;br /&gt;
&gt; found that differences exist. Despite widespread use of the C&lt;br /&gt;
&gt; shell, the KornShell versions were selected for this volume of&lt;br /&gt;
&gt; POSIX.1-2024 to maintain a degree of uniformity with the rest&lt;br /&gt;
&gt; of the KornShell features selected (such as the very popular&lt;br /&gt;
&gt; command line editing features).&lt;br /&gt;
&lt;br /&gt;
However, testing ksh88 from Solaris 11.4's /usr/xpg4/bin/sh and&lt;br /&gt;
ksh93u+m/1.0.8 2024-01-01, those are clearly not compliant, as&lt;br /&gt;
&lt;br /&gt;
$ sleep 1001&lt;br /&gt;
^Z[1] + Stopped                  sleep 1001&lt;br /&gt;
$ sleep 1002 &amp;&lt;br /&gt;
[2]     20308&lt;br /&gt;
$ jobs&lt;br /&gt;
[2] +  Running                 sleep 1002 &amp;&lt;br /&gt;
[1] - Stopped                  sleep 1001&lt;br /&gt;
&lt;br /&gt;
The suspended job is not made the current job, whilst that's the&lt;br /&gt;
part that is clearly unambiguous in the spec in the description&lt;br /&gt;
of the jobs utility.&lt;br /&gt;
&lt;br /&gt;
In practice, I see a lot of variation between implementations,&lt;br /&gt;
and I don't think I've come across one that fully implements any&lt;br /&gt;
of the interpretations listed above.]]></description><category>Shell and Utilities</category><pubDate>Thu, 16 Apr 2026 05:29:39 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1966</guid><comments>https://www.austingroupbugs.net/view.php?id=1966#bugnotes</comments></item><item><title>0001973: awk "numeric string " origins</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1973</link><description><![CDATA[The awk specification (&lt;a href=&quot;https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/awk.html#tag_20_06_13_02&quot; rel=&quot;noopener&quot;&gt;https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/awk.html#tag_20_06_13_02&lt;/a&gt;) has:&lt;br /&gt;
&lt;br /&gt;
&lt;&lt;&lt;&lt;br /&gt;
 A string value shall be considered a numeric string if it comes from one of the following:&lt;br /&gt;
&lt;br /&gt;
     1. Field variables&lt;br /&gt;
     2. Input from the getline() function&lt;br /&gt;
     3. FILENAME&lt;br /&gt;
     4. ARGV array elements&lt;br /&gt;
     5. ENVIRON array elements&lt;br /&gt;
     6. Array elements created by the split() function&lt;br /&gt;
     7. A command line variable assignment&lt;br /&gt;
     8. Variable assignment from another numeric string variable&lt;br /&gt;
&gt;&gt;&gt;&lt;br /&gt;
&lt;br /&gt;
It can be interpreted as meaning that&lt;br /&gt;
&lt;br /&gt;
awk 'BEGIN{$1 = &quot;10&quot;; print ($1 &gt; 2)}'&lt;br /&gt;
&lt;br /&gt;
should return 1 for instance. But no implementation that I know does so. By assigning a string to $1, it loses that special property whereby when containing a string that looks like a number it shall be considered as a number.&lt;br /&gt;
&lt;br /&gt;
Same applies for ARGV, FILENAME...&lt;br /&gt;
&lt;br /&gt;
Typo in rationale section btw:&lt;br /&gt;
&lt;br /&gt;
&gt; also shall have the numeric value of the numeric string&quot; was removed&lt;br /&gt;
&gt;from several sections of the ISO POSIX-2:1993 standard because *is* &lt;br /&gt;
&gt; specifies an unnecessary implementation detail&lt;br /&gt;
&lt;br /&gt;
is -&gt; it]]></description><category>Shell and Utilities</category><pubDate>Sat, 07 Mar 2026 11:48:05 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1973</guid><comments>https://www.austingroupbugs.net/view.php?id=1973#bugnotes</comments></item><item><title>0001972: Determinism in POSIX Utilities</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1972</link><description><![CDATA[This ticket concerns determinism in POSIX utilities: the property that, for a given implementation, invoking a utility with the same declared inputs (options, operands, input files, and specified environment) yields the same observable results.&lt;br /&gt;
&lt;br /&gt;
This property is increasingly important in modern software development and distribution practices, including artifact signing, verification, auditing, and what is commonly referred to as reproducible builds. Many widely used systems and projects rely on deterministic tool behavior as an implicit assumption when building software and producing distributable artifacts, including: Arch Linux, Debian, Fedora, openSUSE, FreeBSD, NetBSD, GNU Guix, Tor, etc.&lt;br /&gt;
&lt;br /&gt;
The intent of this proposal is not to address interoperability between different systems or implementations. Rather, it concerns intra-implementation behavior. In particular, running the same utility with the same options, operands, input files, and relevant environment on the same system should not produce different results due to undeclared or arbitrary factors such as the current time or date, process identifiers, randomness, or unrelated filesystem state, except where such behavior is explicitly permitted by the specification.&lt;br /&gt;
&lt;br /&gt;
For example, invoking:&lt;br /&gt;
&lt;br /&gt;
    c17 foo.c&lt;br /&gt;
&lt;br /&gt;
is not expected to produce identical output across different systems or implementations. However, invoking the same command multiple times on the same system with the same inputs should not result in observably different output solely due to nondeterministic implementation choices. On the flip side,&lt;br /&gt;
&lt;br /&gt;
    c17 foo.c bar.c&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
    c17 bar.c foo.c&lt;br /&gt;
&lt;br /&gt;
should be allowed to produce different results if the implementation so chooses.&lt;br /&gt;
&lt;br /&gt;
This proposal is concerned with utilities whose output formats or behaviors are partially or fully unspecified by POSIX, yet for which deterministic behavior is reasonably expected. Examples include, but are not limited to, ar, c17, delta, lex, pax, and yacc.]]></description><category>Shell and Utilities</category><pubDate>Thu, 05 Mar 2026 16:55:48 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1972</guid><comments>https://www.austingroupbugs.net/view.php?id=1972#bugnotes</comments></item><item><title>0001968: All "pure" functions (including unspecified ones) must be safe with regard to async signals, or no signal handler is.</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1968</link><description><![CDATA[It is common practice in compilers, to generate code using inline functions provided by the runtime that're internal to the implementation, most notably, libgcc_s emit 64-bit arithmetic codes for 32-bit targets. Setting aside the relevance of 32-bit system aside first, the capability of CPUs vary from one architecture to another, so there necessitates these kind of inline stubs on some architecture while not on others.&lt;br /&gt;
&lt;br /&gt;
However, the standard currently says:&lt;br /&gt;
&lt;br /&gt;
&gt; All other functions (including generic functions) and function-like macros may be unsafe with respect to signals&lt;br /&gt;
&lt;br /&gt;
making essentially any code that does anything other than calling async-signal safe functions unsafe.&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
I propose that, we define &quot;pure&quot; functions and declare this class of functions safe in signal handlers - typical characteristic of these functions include:&lt;br /&gt;
1. their behavior is deterministic with regard to their inputs (and their state should we decide to allow them to keep state),&lt;br /&gt;
2. they do not modify the memory of its callers unless a non-const-qualified pointer is explicitly given,&lt;br /&gt;
3. any state they keep (should we decide to allow it) are have access semantic that're safe with regard to signals.&lt;br /&gt;
&lt;br /&gt;
C23 has introduced 'attributes', some of which are geared towards permitting compiler optimizing calls to &quot;pure&quot; functions, so we can consult their text during word smithing.]]></description><category>System Interfaces</category><pubDate>Thu, 26 Feb 2026 16:31:54 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1968</guid><comments>https://www.austingroupbugs.net/view.php?id=1968#bugnotes</comments></item><item><title>0001967: &lt;math.h&gt; still references old IEEE-754 standard issued in 1985.</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1967</link><description><![CDATA[Current spec says:&lt;br /&gt;
&lt;br /&gt;
&lt;dl&gt;&lt;br /&gt;
&lt;dd&gt;&lt;/dd&gt;&lt;br /&gt;
&lt;dt&gt;HUGE_VAL&lt;/dt&gt;&lt;br /&gt;
&lt;dd&gt;A positive &lt;b&gt;double&lt;/b&gt; constant expression, not necessarily representable as a &lt;b&gt;float&lt;/b&gt;. Used as an error value returned&lt;br /&gt;
by the mathematics library. HUGE_VAL evaluates to +infinity on systems supporting IEEE&nbsp;Std&nbsp;754-1985.&lt;/dd&gt;&lt;br /&gt;
&lt;dt&gt;HUGE_VALF&lt;/dt&gt;&lt;br /&gt;
&lt;dd&gt;A positive &lt;b&gt;float&lt;/b&gt; constant expression. Used as an error value returned by the mathematics library. HUGE_VALF evaluates to&lt;br /&gt;
+infinity on systems supporting IEEE&nbsp;Std&nbsp;754-1985.&lt;/dd&gt;&lt;br /&gt;
&lt;dt&gt;HUGE_VALL&lt;/dt&gt;&lt;br /&gt;
&lt;dd&gt;A positive &lt;b&gt;long double&lt;/b&gt; constant expression. Used as an error value returned by the mathematics library. HUGE_VALL&lt;br /&gt;
evaluates to +infinity on systems supporting IEEE&nbsp;Std&nbsp;754-1985.&lt;/dd&gt;&lt;br /&gt;
&lt;dt&gt;INFINITY&lt;/dt&gt;&lt;br /&gt;
&lt;dd&gt;A constant expression of type &lt;b&gt;float&lt;/b&gt; representing positive or unsigned infinity, if available; else a positive constant&lt;br /&gt;
of type &lt;b&gt;float&lt;/b&gt; that overflows at translation time.&lt;/dd&gt;&lt;br /&gt;
&lt;dt&gt;NAN&lt;/dt&gt;&lt;br /&gt;
&lt;dd&gt;A constant expression of type &lt;b&gt;float&lt;/b&gt; representing a quiet NaN. This macro is only defined if the implementation supports&lt;br /&gt;
quiet NaNs for the &lt;b&gt;float&lt;/b&gt; type.&lt;/dd&gt;&lt;br /&gt;
&lt;/dl&gt;&lt;br /&gt;
&lt;br /&gt;
which made reference to the older floating point standard published in 1985, when a revised IEEE-754-2019 is available.]]></description><category>Base Definitions and Headers</category><pubDate>Thu, 26 Feb 2026 16:13:57 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1967</guid><comments>https://www.austingroupbugs.net/view.php?id=1967#bugnotes</comments></item><item><title>0001965: Why isn't pthread_equal async-signal safe?</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1965</link><description><![CDATA[Currently there are 4 pthread_* functions that're async-signal-safe, including pthread_self.&lt;br /&gt;
&lt;br /&gt;
IMHO, there's no reason to not make pthread_equal safe, unless during some thread control operation, some function would modify the internal data structure if pthread_t is not a scalar.&lt;br /&gt;
&lt;br /&gt;
Additionally, unless some implementation _does_ alter pthread_t handle, I think it's perfectly fine to require that the arguments be const-qualified, or that pthread_t be a pointer to a const-qualified data structure.]]></description><category>System Interfaces</category><pubDate>Tue, 17 Feb 2026 10:58:46 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1965</guid><comments>https://www.austingroupbugs.net/view.php?id=1965#bugnotes</comments></item><item><title>0001963: sccs create should use get</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1963</link><description><![CDATA[The sccs frontend to the SCCS utilities performs a get operation after a successful create operation. The way POSIX currently defines create is actually how many implementations implement the enter operation, not defined by POSIX. While this behavior is not made explicit by man pages in several of the below flavors, they are all confirmed by either the source code or by non-man vendor documentation:&lt;br /&gt;
&lt;br /&gt;
1. Sun SCCS (&lt;a href=&quot;https://docs.oracle.com/cd/E19504-01/802-5880/6i9k05dhr/index.html&quot; rel=&quot;noopener&quot;&gt;https://docs.oracle.com/cd/E19504-01/802-5880/6i9k05dhr/index.html&lt;/a&gt;)&lt;br /&gt;
2. IBM AIX SCCS (&lt;a href=&quot;https://www.ibm.com/docs/en/rational-synergy/7.2.1?topic=terms-using-creating-adding-deleting-removing-objects&quot; rel=&quot;noopener&quot;&gt;https://www.ibm.com/docs/en/rational-synergy/7.2.1?topic=terms-using-creating-adding-deleting-removing-objects&lt;/a&gt;)&lt;br /&gt;
3. Heirloom SCCS (sccs.c: line 108)&lt;br /&gt;
4. schilytools SCCS (sccs.c: line 126)&lt;br /&gt;
5. GNU CSSC (sccs.c: line 206)]]></description><category>Shell and Utilities</category><pubDate>Tue, 17 Feb 2026 10:58:08 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1963</guid><comments>https://www.austingroupbugs.net/view.php?id=1963#bugnotes</comments></item><item><title>0001961: assert.h lacks static_assert macro</title><author></author><link>https://www.austingroupbugs.net/view.php?id=1961</link><description><![CDATA[C11 introduced the &lt;i&gt;static_assert&lt;/i&gt;() macro, which C17 kept (and C23 transformed into a keyword).]]></description><category>Base Definitions and Headers</category><pubDate>Tue, 17 Feb 2026 10:57:37 +0000</pubDate><guid>https://www.austingroupbugs.net/view.php?id=1961</guid><comments>https://www.austingroupbugs.net/view.php?id=1961#bugnotes</comments></item></channel></rss>
