The functions from <ctype.h> require that their argument be
representable as an unsigned char, anything else is an error.
Change-Id: I9dafc49c431b7a2550b041603f27bac3c0010eea
Some truetype fonts have good manual hinting.
Ignoring hinting makes the font render badly on low resolution screens.
This commit only disables the freetype autohinter, and allows hinting.
This splits a certain vtmallocz call in mkihash into two vtmallocz
calls. The first issue this fixes is that the C aliasing rules were not
respected in the code before this commit. The other thing is that this
enables better memory alignment guarantees.
Updates #313
Change-Id: Ia4f3e0fc85facc778193f5e977d4f99a1a9abd23
For pthread systems that are fussy about which stack is used,
this makes sure that threadmain runs on a system stack.
If you only use proccreate (never threadcreate), all threads run
on system stacks.
Under certain conditions it looks like frexp gets #defined
to something else on macOS during system headers,
which then breaks the declaration in libc.h.
Remote whitespace at the ends of lines.
Remove blank lines from the ends of files.
Change modes on source files so that they
are not executable.
Signed-off-by: Dan Cross <cross@gajendra.net>
In general, no space after `if` etc, and no
braces for a single statement inside of a loop
or conditional.
Signed-off-by: Dan Cross <cross@gajendra.net>
A loop is added for each structure field instead of accessing the other
fields through the first one in one loop.
Updates #313
Change-Id: I0e27e15feacb77391bc1decee7cf720d64d14586
POSIX does not support grouping in case item patterns.
Installing with a strict POSIX shell fails with:
/usr/local/plan9/bin/9c: line 82: syntax error near unexpected token `('
/usr/local/plan9/bin/9c: line 82: `*(DragonFly|BSD)*gcc*) usegcc ;;'
This change expands the patterns to work around the limitation.
See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10
(and search for case_clause)
GCC pointed this out with some "warning: ‘strncpy’ specified bound NUM
equals destination size [-Wstringop-truncation]" warnings.
Change-Id: Id8408b165f6e4ae82c96a77599d89f658d979b32
These make no sense and are not really needed at all.
Add a best-effort attempt to get at the gcc/clang macro
in lib9.h, but if it fails, no big deal.
Fixes#324.
This should prevent the issues of dist/buildmk and src/mkhdr getting out
of synchronization yet again.
I also add a rule for arm64 to the OBJTYPE sed command.
Fixes#243Fixes#320
Change-Id: I60f69a1f32b5ed5ae5ac8a1659c38e29debed005
Passing a null pointer to qsort is an error in C (GCC and Clang agree
with the standards there, so this is no joke).
Change-Id: Ia2b015793a75ea4e85ae8f47da6beead9c4290e6
Just added a pair of parentheses. I also ran cb on cb.c to beautify the
code.
This is actually on Gerrit from 2016:
https://plan9port-review.googlesource.com/c/plan9/+/1574
Change-Id: I5e234adba0f95c13d6eecb121bf11bba4bf54566
Temp file size is now declared in an enum; changing it from the
default introduces a subtle bug in putline(), which expects it to
be 32767.
Mask with NBLK-1 instead.
Page was hanging because ghostscript never closes the fd from which
we're reading BMP data. We close our end of the pipe so that ghostscript
will close its end.
Tested with ghostscript version 9.50.
Fixes#124
awk was splitting records into bytes instead of runes for empty FS.
For example, this was printing only the first byte of the utf-8 encoding
of é:
echo é | awk 'BEGIN{FS=""}{print $1}'
The change just copies how the `split` function handles runes.
Originally reported by kris on twitter:
https://twitter.com/p9luv/status/1180436083433201665
The code had a nested use of the follow() function that could cause +=+
and -=- to register as ++ and --. The first follow() to execute could
consume a character and match and then the second follow() could consume
another character and match. For example i-=-10 would result in a syntax
error and i-=- would decrement i.