9gc: ctxread: print the error
9gc: ping/pong walk: use zero elements path
Merge commit '96a53db2e0c0e981310e96fc2f44aad3fb94f98a'
Squashed 'c9/' changes from a9bd8e3..d24ba61
9gc: change ping-pong to a walk request/response
9gc: do a dummy read each 10 second of inactivity, hoping for Android to not close the socket
9gc: add options to parg call
9gc: add -e to disable echo
9gc: no \r, that's dumb
9gc: exit when stdin is broken; print \r before every message is sent
9gc: add netinet/in.h
9gc: don't print 'JOINED ...' by default
9gc: exit if no chat found
add 9gridchan client
Merge commit '7cc378295d8b77875eda7b149bbcea7c318340d6' as 'c9'
Squashed 'c9/' content from commit a9bd8e3
add docs to run 9pex on NixOS
in case of a broken symlink call fstatat on the link itself, not the reference
proper signal handling
assume write/read might have to be called more than once; ignore SIGPIPE in favor of EPIPE errno
handle permission bits
fix wrong qid type in some cases
store uid->name and gid->name in memory
crc32: don't need stdio anymore
qid.version: crc32 inode's ctime instead of using mtime
more verbose traces for Rread and Ropen
with -d -d show when the data is sent to the client
process all the incoming data first, then send out the responses
c99, ms-extensions, _DEFAULT_SOURCE
make it easier to compile static binaries with musl
when s9error fails, it's not a trace
add options to 9pex
Merge commit '7a5505a05daf936473c9c6ee0a1d442ac1a920e0' as 'parg'
Squashed 'parg/' content from commit 97f3a07
Merge commit 'f9600150b0e967e3edc95944b0a127f596b1de62'
Squashed 'c9/' changes from 8a22517..d7520a6
check s9readdir return code
trace for regular file read
Squashed 'c9/' changes from 24bfa2e..8a22517
Squashed 'c9/' content from commit 24bfa2e
add pull subtree script
9pex: don't compile the client
Merge commit 'd4afafed9b155b504d29c72755e2987a0724f461'
add c9 as a subtree
Merge commit 'c19685c19ee0eb9c9bcfe8d89ab1fea5231216ea' as 'c9'
add a note re musl+chroot
don't report an error on eof
make valgrind happier