diff options
| author | aszlig <aszlig@nix.build> | 2019-08-15 00:06:51 +0200 |
|---|---|---|
| committer | aszlig <aszlig@nix.build> | 2019-08-15 00:59:58 +0200 |
| commit | 1964b0c1b1e2e8092a15da64bd37838bed261e26 (patch) | |
| tree | 6db891aa788c2f35f182613207bd74aa2f5d1a94 /pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch | |
| parent | 77e8a12755632d62ef25541e3622f478edaa28c6 (diff) | |
xkbvalidate: Don't rely on GNU extensions
The only reason why I was using _GNU_SOURCE was because of vasprintf(),
so getting rid of that extension should make the source way more
portable.
When using vsnprintf() with a null pointer for the output buffer and a
size of 0, I wasn't quite sure whether this would be undefined
behaviour, so I looked it up in the C11 standard.
In section 7.21.6.5, it explicitly mentions this case, so we're lucky:
If n is zero, nothing is written, and s may be a null pointer.
Additionally, section 7.21.6.12 writes the following about vsnprintf():
The vsnprintf function does not invoke the va_end macro.
So to be sure to avoid undefined behaviour I subsequently added the
corresponding va_end() calls.
With this, the platforms attribute is now "unix", because the program
should now even run on OS X, even though it usually wouldn't be needed.
Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'pkgs/development/python-modules/termplotlib/gnuplot-subprocess.patch')
0 files changed, 0 insertions, 0 deletions
