s6

Mirror/fork of https://skarnet.org/software/s6/
git clone https://ccx.te2000.cz/git/s6
Log | Files | Refs | README | LICENSE

commit c60ebd422171808ad58b936914055397bb205bef
parent e28fe5908a91d8795ca9923d64eeed7d3e898434
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date:   Sun, 12 Mar 2017 11:59:43 +0000

 Adapt to skalibs-2.5.0.0

Diffstat:
Mdoc/libs6/accessrules.html | 7+++----
Mdoc/libs6/ftrigr.html | 10+++++-----
Mdoc/libs6/ftrigw.html | 2+-
Mdoc/libs6/s6lock.html | 6+++---
Mdoc/libs6/s6lockd-helper.html | 3++-
Msrc/conn-tools/s6-accessrules-cdb-from-fs.c | 11++++-------
Msrc/conn-tools/s6-accessrules-fs-from-cdb.c | 28++++++++++++++--------------
Msrc/conn-tools/s6-connlimit.c | 13++++++-------
Msrc/conn-tools/s6-ioconnect.c | 6+++---
Msrc/conn-tools/s6-ipcclient.c | 10+++++-----
Msrc/conn-tools/s6-ipcserver-access.c | 37++++++++++++++++---------------------
Msrc/conn-tools/s6-ipcserver-socketbinder.c | 5++---
Msrc/conn-tools/s6-ipcserver.c | 13++++++-------
Msrc/conn-tools/s6-ipcserverd.c | 67+++++++++++++++++++++++++++++++++----------------------------------
Msrc/conn-tools/s6-sudo.c | 4++--
Msrc/conn-tools/s6-sudoc.c | 35+++++++++++++++++------------------
Msrc/conn-tools/s6-sudod.c | 19+++++++++----------
Msrc/daemontools-extras/s6-applyuidgid.c | 19++++++++-----------
Msrc/daemontools-extras/s6-envdir.c | 2+-
Msrc/daemontools-extras/s6-envuidgid.c | 39++++++++++++++++++---------------------
Msrc/daemontools-extras/s6-fghack.c | 1-
Msrc/daemontools-extras/s6-log.c | 140++++++++++++++++++++++++++++++++++++++++----------------------------------------
Msrc/daemontools-extras/s6-setlock.c | 7+++----
Msrc/daemontools-extras/s6-setsid.c | 4++--
Msrc/daemontools-extras/s6-setuidgid.c | 13++++++-------
Msrc/daemontools-extras/s6-softlimit.c | 2+-
Msrc/daemontools-extras/s6-tai64n.c | 7++++---
Msrc/daemontools-extras/s6-tai64nlocal.c | 6++----
Msrc/daemontools-extras/ucspilogd.c | 8++++----
Msrc/fdholder/s6-fdholder-daemon.c | 13++++++-------
Msrc/fdholder/s6-fdholder-delete.c | 4++--
Msrc/fdholder/s6-fdholder-deletec.c | 4++--
Msrc/fdholder/s6-fdholder-getdump.c | 4++--
Msrc/fdholder/s6-fdholder-getdumpc.c | 19+++++++++----------
Msrc/fdholder/s6-fdholder-list.c | 4++--
Msrc/fdholder/s6-fdholder-listc.c | 9++++-----
Msrc/fdholder/s6-fdholder-retrieve.c | 4++--
Msrc/fdholder/s6-fdholder-retrievec.c | 4++--
Msrc/fdholder/s6-fdholder-setdump.c | 4++--
Msrc/fdholder/s6-fdholder-setdumpc.c | 17++++++++---------
Msrc/fdholder/s6-fdholder-store.c | 4++--
Msrc/fdholder/s6-fdholder-storec.c | 4++--
Msrc/fdholder/s6-fdholder-transferdump.c | 4++--
Msrc/fdholder/s6-fdholder-transferdumpc.c | 4++--
Msrc/fdholder/s6-fdholderd.c | 65++++++++++++++++++++++++++++++++---------------------------------
Msrc/include/s6/ftrigr.h | 19+++++++++----------
Msrc/include/s6/ftrigw.h | 8++++----
Msrc/include/s6/s6lock.h | 14+++++++-------
Msrc/libs6/ftrig1_make.c | 11+++++------
Msrc/libs6/ftrigr_check.c | 2+-
Msrc/libs6/ftrigr_subscribe.c | 24++++++++++++++----------
Msrc/libs6/ftrigr_unsubscribe.c | 2+-
Msrc/libs6/ftrigr_update.c | 2+-
Msrc/libs6/ftrigr_wait_and.c | 2+-
Msrc/libs6/ftrigr_wait_or.c | 4++--
Msrc/libs6/ftrigw_clean.c | 13++++++-------
Msrc/libs6/ftrigw_fifodir_make.c | 3+--
Msrc/libs6/ftrigw_notifyb_nosig.c | 15+++++++--------
Msrc/libs6/s6-ftrigrd.c | 14++++++--------
Msrc/libs6/s6_accessrules_backend_cdb.c | 9++++-----
Msrc/libs6/s6_accessrules_backend_fs.c | 20+++++++++-----------
Msrc/libs6/s6_accessrules_keycheck_ip4.c | 7+++----
Msrc/libs6/s6_accessrules_keycheck_ip6.c | 9++++-----
Msrc/libs6/s6_accessrules_keycheck_reversedns.c | 10+++++-----
Msrc/libs6/s6_accessrules_keycheck_uidgid.c | 4++--
Msrc/libs6/s6_fdholder_delete.c | 2+-
Msrc/libs6/s6_fdholder_delete_async.c | 11+++++------
Msrc/libs6/s6_fdholder_getdump.c | 13++++++-------
Msrc/libs6/s6_fdholder_list.c | 2+-
Msrc/libs6/s6_fdholder_list_async.c | 3+--
Msrc/libs6/s6_fdholder_list_cb.c | 6+++---
Msrc/libs6/s6_fdholder_retrieve.c | 2+-
Msrc/libs6/s6_fdholder_retrieve_async.c | 12+++++-------
Msrc/libs6/s6_fdholder_retrieve_cb.c | 4++--
Msrc/libs6/s6_fdholder_setdump.c | 22+++++++++++-----------
Msrc/libs6/s6_fdholder_store.c | 2+-
Msrc/libs6/s6_fdholder_store_async.c | 11+++++------
Msrc/libs6/s6_supervise_lock.c | 1-
Msrc/libs6/s6_supervise_lock_mode.c | 13++++++-------
Msrc/libs6/s6_svc_ok.c | 11+++++------
Msrc/libs6/s6_svc_write.c | 2+-
Msrc/libs6/s6_svc_writectl.c | 13++++++-------
Msrc/libs6/s6_svstatus_pack.c | 4++--
Msrc/libs6/s6_svstatus_read.c | 9++++-----
Msrc/libs6/s6_svstatus_unpack.c | 8++++----
Msrc/libs6/s6_svstatus_write.c | 9++++-----
Msrc/libs6/s6lock_acquire.c | 17++++++++++-------
Msrc/libs6/s6lock_release.c | 2+-
Msrc/libs6/s6lock_update.c | 2+-
Msrc/libs6/s6lock_wait_and.c | 2+-
Msrc/libs6/s6lock_wait_or.c | 4++--
Msrc/libs6/s6lockd.c | 22++++++++++------------
Msrc/pipe-tools/s6-ftrig-listen.c | 7+++----
Msrc/pipe-tools/s6-ftrig-listen1.c | 7+++----
Msrc/pipe-tools/s6-ftrig-wait.c | 4++--
Msrc/pipe-tools/s6-mkfifodir.c | 4++--
Msrc/supervision/s6-supervise.c | 24++++++++++++------------
Msrc/supervision/s6-svc.c | 17++++++++---------
Msrc/supervision/s6-svlisten.c | 5++---
Msrc/supervision/s6-svlisten1.c | 7+++----
Msrc/supervision/s6-svscan.c | 31+++++++++++++++----------------
Msrc/supervision/s6-svscanctl.c | 3+--
Msrc/supervision/s6-svstat.c | 17++++++++---------
Msrc/supervision/s6-svwait.c | 4++--
Msrc/supervision/s6_svlisten_loop.c | 24++++++++++++------------
Msrc/supervision/s6_svlisten_signal_handler.c | 2+-
106 files changed, 596 insertions(+), 652 deletions(-)

diff --git a/doc/libs6/accessrules.html b/doc/libs6/accessrules.html @@ -66,7 +66,7 @@ Namely: </p> <p> -<code>s6_accessrules_result_t f (char const *key, unsigned int keylen, void *handle, s6_accessrules_params_t *params) </code> +<code>s6_accessrules_result_t f (char const *key, size_t keylen, void *handle, s6_accessrules_params_t *params) </code> </p> <p> @@ -123,9 +123,8 @@ is not S6_ACCESSRULES_NOTFOUND. If no match can be found in the whole list, <li> <a name="uidgid" /> <tt>s6_accessrules_keycheck_uidgid</tt> interprets <em>key</em> as a -<a href="http://skarnet.org/software/skalibs/libstddjb/">diuint</a>, i.e. a -structure containing two unsigned ints. The first one is interpreted as an -uid <em>u</em>, the second one as a gid <em>g</em>. The function first looks +pointer to a structure containing an uid <em>u</em> and a gid <em>g</em>. +The function first looks for a <tt>uid/<em>u</em></tt> match; if it cannot find one, it looks for a <tt>gid/<em>g</em></tt> match. If it cannot find one either, it checks <tt>uid/default</tt> and returns the result. </li> diff --git a/doc/libs6/ftrigr.html b/doc/libs6/ftrigr.html @@ -44,8 +44,8 @@ simply ignoring pids you don't know. </p> <p> - If your (badly programmed) application has trouble handling unknown -children, consider using a ftrigrd service. + If your application has trouble handling unknown +children, consider using a ftrigrd service. (And fix your application!) </p> <h3> A programming example </h3> @@ -240,14 +240,14 @@ which something happened. <p> When <tt>ftrigr_update</tt> returns, -<tt>genalloc_s(uint16, &amp;a-&gt;list)</tt> points to an array of -<tt>genalloc_len(uint16, &amp;a-&gt;list)</tt> 16-bit unsigned +<tt>genalloc_s(uint16_t, &amp;a-&gt;list)</tt> points to an array of +<tt>genalloc_len(uint16_t, &amp;a-&gt;list)</tt> 16-bit unsigned integers. Those integers are ids waiting to be passed to <tt>ftrigr_check</tt>. </p> <pre> -int ftrigr_check (ftrigr_t *a, uint16 id, char *what) +int ftrigr_check (ftrigr_t *a, uint16_t id, char *what) </pre> <p> diff --git a/doc/libs6/ftrigw.html b/doc/libs6/ftrigw.html @@ -41,7 +41,7 @@ exact function prototypes. <pre> char const *path = "/var/lib/myservice/fifodir" ; -int gid = -1 ; +gid_t gid = -1 ; int forceperms = 0 ; int r = ftrigw_fifodir_make(path, gid, forceperms) ; </pre> diff --git a/doc/libs6/s6lock.html b/doc/libs6/s6lock.html @@ -193,14 +193,14 @@ which something happened. <p> When <tt>s6lock_update</tt> returns, -<tt>genalloc_s(uint16, &amp;a-&gt;list)</tt> points to an array of -<tt>genalloc_len(uint16, &amp;a-&gt;list)</tt> 16-bit unsigned +<tt>genalloc_s(uint16_t, &amp;a-&gt;list)</tt> points to an array of +<tt>genalloc_len(uint16_t, &amp;a-&gt;list)</tt> 16-bit unsigned integers. Those integers are ids waiting to be passed to <tt>s6lock_check</tt>. </p> <pre> -int s6lock_check (s6lock_t *a, uint16 id, char *what) +int s6lock_check (s6lock_t *a, uint16_t id, char *what) </pre> <p> diff --git a/doc/libs6/s6lockd-helper.html b/doc/libs6/s6lockd-helper.html @@ -43,7 +43,8 @@ threads) to implement timed lock acquisition. This can lead to a lot of s6lockd-helper processes, but this is not a problem: <ul> <li> Processes are not a scarce resource. Today's schedulers work in O(1), -i.e. a sleeping process takes no scheduling time at all. </li> +or in O(a function of the number of runnable processes), which means that a +sleeping process takes no scheduling time at all </li> <li> s6lockd-helper is extremely tiny. Every instance should use up at most one or two pages of non-sharable memory. </li> </ul> </li> diff --git a/src/conn-tools/s6-accessrules-cdb-from-fs.c b/src/conn-tools/s6-accessrules-cdb-from-fs.c @@ -1,13 +1,10 @@ /* ISC license. */ -#include <sys/types.h> #include <stdint.h> #include <unistd.h> #include <errno.h> -#include <stdio.h> /* for rename() */ -#include <skalibs/bytestr.h> -#include <skalibs/uint16.h> -#include <skalibs/fmtscan.h> +#include <stdio.h> +#include <skalibs/types.h> #include <skalibs/cdb_make.h> #include <skalibs/strerr2.h> #include <skalibs/stralloc.h> @@ -22,7 +19,7 @@ static stralloc tmp = STRALLOC_ZERO ; static void cleanup (void) { - register int e = errno ; + int e = errno ; unlink(tmp.s) ; errno = e ; } @@ -66,7 +63,7 @@ static void doit (struct cdb_make *c, stralloc *sa, size_t start) { uint16_t envlen = 0 ; uint16_t execlen = 0 ; - register ssize_t r ; + ssize_t r ; tmp.s[tmpbase] = 'A' ; sa->len = k+1 ; stralloc_catb(sa, "env", 4) ; diff --git a/src/conn-tools/s6-accessrules-fs-from-cdb.c b/src/conn-tools/s6-accessrules-fs-from-cdb.c @@ -1,12 +1,12 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <stdint.h> #include <sys/stat.h> #include <errno.h> #include <unistd.h> #include <skalibs/bytestr.h> -#include <skalibs/uint16.h> +#include <skalibs/types.h> #include <skalibs/cdb.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -31,8 +31,8 @@ static int domkdir (char const *s) static void mkdirp (char *s) { mode_t m = umask(0) ; - size_t len = str_len(s) ; - register size_t i = basedirlen + 1 ; + size_t len = strlen(s) ; + size_t i = basedirlen + 1 ; for (; i < len ; i++) if (s[i] == '/') { s[i] = 0 ; @@ -50,7 +50,7 @@ static void mkdirp (char *s) static void touchtrunc (char const *file) { - register int fd = open_trunc(file) ; + int fd = open_trunc(file) ; if (fd < 0) strerr_diefu2sys(111, "open_trunc ", file) ; fd_close(fd) ; } @@ -72,9 +72,9 @@ static int doenv (char const *dir, size_t dirlen, char *env, size_t envlen) { size_t p = byte_chr(env + i, n, '=') ; char tmp[dirlen + p + 2] ; - byte_copy(tmp, dirlen, dir) ; + memcpy(tmp, dir, dirlen) ; tmp[dirlen] = '/' ; - byte_copy(tmp + dirlen + 1, p, env + i) ; + memcpy(tmp + dirlen + 1, env + i, p) ; tmp[dirlen + p + 1] = 0 ; if (p < n) { @@ -100,7 +100,7 @@ static int doit (struct cdb *c) uint16_t envlen, execlen ; char name[basedirlen + klen + 8] ; char data[dlen] ; - byte_copy(name, basedirlen, basedir) ; + memcpy(name, basedir, basedirlen) ; name[basedirlen] = '/' ; if (!dlen || (dlen > 8201)) return (errno = EINVAL, 0) ; if ((cdb_read(c, name+basedirlen+1, klen, cdb_keypos(c)) < 0) @@ -114,12 +114,12 @@ static int doit (struct cdb *c) name[basedirlen + klen + 1] = '/' ; if (data[0] == 'A') { - byte_copy(name + basedirlen + klen + 2, 6, "allow") ; + memcpy(name + basedirlen + klen + 2, "allow", 6) ; touchtrunc(name) ; } else if (data[0] == 'D') { - byte_copy(name + basedirlen + klen + 2, 5, "deny") ; + memcpy(name + basedirlen + klen + 2, "deny", 5) ; touchtrunc(name) ; } if (dlen < 3) return 1 ; @@ -129,10 +129,10 @@ static int doit (struct cdb *c) if ((execlen > 4096U) || (5U + envlen + execlen != dlen)) return (errno = EINVAL, 0) ; if (envlen) { - byte_copy(name + basedirlen + klen + 2, 4, "env") ; + memcpy(name + basedirlen + klen + 2, "env", 4) ; if (!doenv(name, basedirlen + klen + 5, data + 3, envlen)) return (errno = EINVAL, 0) ; } - byte_copy(name + basedirlen + klen + 2, 5, "exec") ; + memcpy(name + basedirlen + klen + 2, "exec", 5) ; if (execlen && !openwritenclose_unsafe(name, data + 5 + envlen, execlen)) { cleanup() ; @@ -150,7 +150,7 @@ int main (int argc, char const *const *argv) if (argc < 3) strerr_dieusage(100, USAGE) ; if (cdb_mapfile(&c, argv[2]) < 0) strerr_diefu1sys(111, "cdb_mapfile") ; basedir = argv[1] ; - basedirlen = str_len(argv[1]) ; + basedirlen = strlen(argv[1]) ; { mode_t m = umask(0) ; if (mkdir(basedir, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH | S_ISGID) < 0) @@ -160,7 +160,7 @@ int main (int argc, char const *const *argv) cdb_traverse_init(&c, &kpos) ; for (;;) { - register int r = cdb_nextkey(&c, &kpos) ; + int r = cdb_nextkey(&c, &kpos) ; if (r < 0) { cleanup() ; diff --git a/src/conn-tools/s6-connlimit.c b/src/conn-tools/s6-connlimit.c @@ -1,8 +1,7 @@ /* ISC license. */ -#include <sys/types.h> -#include <skalibs/uint.h> -#include <skalibs/bytestr.h> +#include <string.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/env.h> #include <skalibs/djbunix.h> @@ -14,17 +13,17 @@ int main (int argc, char const *const *argv, char const *const *envp) PROG = "s6-connlimit" ; x = env_get2(envp, "PROTO") ; if (!x) strerr_dienotset(100, "PROTO") ; - protolen = str_len(x) ; + protolen = strlen(x) ; if (!protolen) strerr_dief1x(100, "empty PROTO") ; { unsigned int num ; char s[protolen + 8] ; - byte_copy(s, protolen, x) ; - byte_copy(s + protolen, 8, "CONNNUM") ; + memcpy(s, x, protolen) ; + memcpy(s + protolen, "CONNNUM", 8) ; x = env_get2(envp, s) ; if (!x) strerr_dienotset(100, s) ; if (!uint0_scan(x, &num)) strerr_dief2x(100, "invalid ", s) ; - byte_copy(s + protolen + 4, 4, "MAX") ; + memcpy(s + protolen + 4, "MAX", 4) ; x = env_get2(envp, s) ; if (x) { diff --git a/src/conn-tools/s6-ioconnect.c b/src/conn-tools/s6-ioconnect.c @@ -4,7 +4,7 @@ #include <sys/socket.h> #include <errno.h> #include <signal.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/allreadwrite.h> #include <skalibs/sgetopt.h> #include <skalibs/error.h> @@ -74,14 +74,14 @@ static void handle_signals (void) int main (int argc, char const *const *argv) { tain_t tto ; - register unsigned int i, j ; + unsigned int i, j ; PROG = "s6-ioconnect" ; { subgetopt_t l = SUBGETOPT_ZERO ; unsigned int t = 0 ; for (;;) { - register int opt = subgetopt_r(argc, argv, "0167t:r:w:", &l) ; + int opt = subgetopt_r(argc, argv, "0167t:r:w:", &l) ; if (opt < 0) break ; switch (opt) { diff --git a/src/conn-tools/s6-ipcclient.c b/src/conn-tools/s6-ipcclient.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/env.h> @@ -19,7 +19,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "qQvp:l:", &l) ; + int opt = subgetopt_r(argc, argv, "qQvp:l:", &l) ; if (opt == -1) break ; switch (opt) { @@ -46,16 +46,16 @@ int main (int argc, char const *const *argv, char const *const *envp) if (verbosity >= 2) strerr_warn3x(PROG, ": connected to ", argv[0]) ; if (localname) { - register size_t n = str_len(localname) ; + size_t n = strlen(localname) ; if (n > IPCPATH_MAX) n = IPCPATH_MAX ; - byte_copy(modif + i, n, localname) ; + memcpy(modif + i, localname, n) ; i += n ; modif[i++] = 0 ; } else { int dummy ; if (ipc_local(s, modif + i, IPCPATH_MAX, &dummy) < 0) modif[--i] = 0 ; - else i += str_len(modif + i) + 1 ; + else i += strlen(modif + i) + 1 ; } if (fd_move(6, s) < 0) strerr_diefu2sys(111, "set up fd ", "6") ; diff --git a/src/conn-tools/s6-ipcserver-access.c b/src/conn-tools/s6-ipcserver-access.c @@ -1,12 +1,10 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <unistd.h> #include <errno.h> #include <skalibs/gccattributes.h> -#include <skalibs/uint64.h> -#include <skalibs/uint.h> -#include <skalibs/gidstuff.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> #include <skalibs/cdb.h> @@ -45,11 +43,11 @@ static inline void X () static void logit (pid_t pid, uid_t uid, gid_t gid, int h) { - char fmtpid[UINT_FMT] ; - char fmtuid[UINT64_FMT] ; + char fmtpid[PID_FMT] ; + char fmtuid[UID_FMT] ; char fmtgid[GID_FMT] ; - fmtpid[uint_fmt(fmtpid, (unsigned int)pid)] = 0 ; - fmtuid[uint64_fmt(fmtuid, (uint64)uid)] = 0 ; + fmtpid[pid_fmt(fmtpid, pid)] = 0 ; + fmtuid[uid_fmt(fmtuid, uid)] = 0 ; fmtgid[gid_fmt(fmtgid, gid)] = 0 ; if (h) strerr_warni7x("allow", " pid ", fmtpid, " uid ", fmtuid, " gid ", fmtgid) ; else strerr_warni7sys("deny", " pid ", fmtpid, " uid ", fmtuid, " gid ", fmtgid) ; @@ -72,7 +70,7 @@ static s6_accessrules_result_t check_cdb (uid_t uid, gid_t gid, char const *file { struct cdb c = CDB_ZERO ; int fd = open_readb(file) ; - register s6_accessrules_result_t r ; + s6_accessrules_result_t r ; if (fd < 0) return -1 ; if (cdb_init(&c, fd) < 0) strerr_diefu2sys(111, "cdb_init ", file) ; r = s6_accessrules_uidgid_cdb(uid, gid, &c, params) ; @@ -127,7 +125,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "v:Eel:i:x:", &l) ; + int opt = subgetopt_r(argc, argv, "v:Eel:i:x:", &l) ; if (opt == -1) break ; switch (opt) { @@ -147,19 +145,16 @@ int main (int argc, char const *const *argv, char const *const *envp) proto = env_get2(envp, "PROTO") ; if (!proto) strerr_dienotset(100, "PROTO") ; - protolen = str_len(proto) ; + protolen = strlen(proto) ; { - uint64 u ; char const *x ; char tmp[protolen + 11] ; byte_copy(tmp, protolen, proto) ; byte_copy(tmp + protolen, 11, "REMOTEEUID") ; x = env_get2(envp, tmp) ; if (!x) strerr_dienotset(100, tmp) ; - if (!uint640_scan(x, &u)) strerr_dieinvalid(100, tmp) ; - if (u > (uint64)(uid_t)-1) strerr_dieinvalid(100, tmp) ; - uid = (uid_t)u ; + if (!uid0_scan(x, &uid)) strerr_dieinvalid(100, tmp) ; tmp[protolen + 7] = 'G' ; x = env_get2(envp, tmp) ; if (!x) strerr_dienotset(100, tmp) ; @@ -176,8 +171,8 @@ int main (int argc, char const *const *argv, char const *const *envp) if (doenv) { char tmp[protolen + 10] ; - byte_copy(tmp, protolen, proto) ; - byte_copy(tmp + protolen, 10, "LOCALPATH") ; + memcpy(tmp, proto, protolen) ; + memcpy(tmp + protolen, "LOCALPATH", 10) ; if (localname) { if (!env_addmodif(&params.env, tmp, localname)) dienomem() ; @@ -194,15 +189,15 @@ int main (int argc, char const *const *argv, char const *const *envp) else { char tmp[protolen + 11] ; - byte_copy(tmp, protolen, proto) ; - byte_copy(tmp + protolen, 11, "REMOTEEUID") ; + memcpy(tmp, proto, protolen) ; + memcpy(tmp + protolen, "REMOTEEUID", 11) ; if (!env_addmodif(&params.env, "PROTO", 0)) dienomem() ; if (!env_addmodif(&params.env, tmp, 0)) dienomem() ; tmp[protolen + 7] = 'G' ; if (!env_addmodif(&params.env, tmp, 0)) dienomem() ; - byte_copy(tmp + protolen + 6, 5, "PATH") ; + memcpy(tmp + protolen + 6, "PATH", 5) ; if (!env_addmodif(&params.env, tmp, 0)) dienomem() ; - byte_copy(tmp + protolen, 10, "LOCALPATH") ; + memcpy(tmp + protolen, "LOCALPATH", 10) ; if (!env_addmodif(&params.env, tmp, 0)) dienomem() ; } diff --git a/src/conn-tools/s6-ipcserver-socketbinder.c b/src/conn-tools/s6-ipcserver-socketbinder.c @@ -1,10 +1,9 @@ /* ISC license. */ -#include <sys/types.h> #include <sys/stat.h> #include <sys/socket.h> #include <unistd.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -23,7 +22,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "DdMmb:", &l) ; + int opt = subgetopt_r(argc, argv, "DdMmb:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/conn-tools/s6-ipcserver.c b/src/conn-tools/s6-ipcserver.c @@ -2,8 +2,7 @@ #include <sys/types.h> #include <limits.h> -#include <skalibs/uint.h> -#include <skalibs/gidstuff.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -21,7 +20,7 @@ int main (int argc, char const *const *argv, char const *const *envp) int flagreuse = 1 ; unsigned int uid = 0, gid = 0 ; gid_t gids[NGROUPS_MAX] ; - unsigned int gidn = (unsigned int)-1 ; + size_t gidn = (size_t)-1 ; unsigned int maxconn = 0 ; unsigned int localmaxconn = 0 ; unsigned int backlog = (unsigned int)-1 ; @@ -30,7 +29,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "qQvDd1UPpc:C:b:u:g:G:", &l) ; + int opt = subgetopt_r(argc, argv, "qQvDd1UPpc:C:b:u:g:G:", &l) ; if (opt == -1) break ; switch (opt) { @@ -48,7 +47,7 @@ int main (int argc, char const *const *argv, char const *const *envp) case 'g' : if (!uint0_scan(l.arg, &gid)) dieusage() ; break ; case 'G' : if (!gid_scanlist(gids, NGROUPS_MAX, l.arg, &gidn) && *l.arg) dieusage() ; break ; case '1' : flag1 = 1 ; break ; - case 'U' : flagU = 1 ; uid = 0 ; gid = 0 ; gidn = (unsigned int)-1 ; break ; + case 'U' : flagU = 1 ; uid = 0 ; gid = 0 ; gidn = (size_t)-1 ; break ; default : dieusage() ; } } @@ -73,7 +72,7 @@ int main (int argc, char const *const *argv, char const *const *envp) } newargv[m++] = "--" ; newargv[m++] = *argv++ ; - if (flagU || uid || gid || gidn != (unsigned int)-1) + if (flagU || uid || gid || gidn != (size_t)-1) { newargv[m++] = S6_BINPREFIX "s6-applyuidgid" ; if (flagU) newargv[m++] = "-Uz" ; @@ -91,7 +90,7 @@ int main (int argc, char const *const *argv, char const *const *envp) pos += uint_fmt(fmt + pos, gid) ; fmt[pos++] = 0 ; } - if (gidn != (unsigned int)-1) + if (gidn != (size_t)-1) { newargv[m++] = "-G" ; newargv[m++] = fmt + pos ; diff --git a/src/conn-tools/s6-ipcserverd.c b/src/conn-tools/s6-ipcserverd.c @@ -3,14 +3,13 @@ #include <sys/types.h> #include <sys/wait.h> #include <errno.h> +#include <string.h> #include <unistd.h> #include <fcntl.h> #include <signal.h> -#include <skalibs/uint.h> -#include <skalibs/gidstuff.h> +#include <skalibs/types.h> #include <skalibs/gccattributes.h> #include <skalibs/allreadwrite.h> -#include <skalibs/bytestr.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/env.h> @@ -70,14 +69,14 @@ static inline void X (void) static unsigned int lookup_pid (pid_t pid) { - register unsigned int i = 0 ; + unsigned int i = 0 ; for (; i < numconn ; i++) if (pid == piduid[i].left) break ; return i ; } static inline unsigned int lookup_uid (uid_t uid) { - register unsigned int i = 0 ; + unsigned int i = 0 ; for (; i < uidlen ; i++) if (uid == uidnum[i].left) break ; return i ; } @@ -104,12 +103,12 @@ static void log_status (void) static void log_deny (uid_t uid, gid_t gid, unsigned int num) { - char fmtuid[UINT64_FMT] = "?" ; + char fmtuid[UID_FMT] = "?" ; char fmtgid[GID_FMT] = "?" ; char fmtnum[UINT_FMT] = "?" ; if (flaglookup) { - fmtuid[uint64_fmt(fmtuid, (uint64)uid)] = 0 ; + fmtuid[uid_fmt(fmtuid, uid)] = 0 ; fmtgid[gid_fmt(fmtgid, gid)] = 0 ; fmtnum[uint_fmt(fmtnum, num)] = 0 ; } @@ -118,28 +117,28 @@ static void log_deny (uid_t uid, gid_t gid, unsigned int num) static void log_accept (pid_t pid, uid_t uid, gid_t gid, unsigned int num) { - char fmtuidgid[UINT64_FMT + GID_FMT + 1] = "?:?" ; + char fmtuidgid[UID_FMT + GID_FMT + 1] = "?:?" ; char fmtpid[UINT_FMT] ; char fmtnum[UINT_FMT] = "?" ; if (flaglookup) { - register size_t n = uint64_fmt(fmtuidgid, (uint64)uid) ; + size_t n = uid_fmt(fmtuidgid, uid) ; fmtuidgid[n++] = ':' ; n += gid_fmt(fmtuidgid + n, gid) ; fmtuidgid[n] = 0 ; fmtnum[uint_fmt(fmtnum, num)] = 0 ; } - fmtpid[uint_fmt(fmtpid, (unsigned int)pid)] = 0 ; + fmtpid[pid_fmt(fmtpid, pid)] = 0 ; strerr_warni7x("allow ", fmtuidgid, " pid ", fmtpid, " count ", fmtnum, fmtlocalmaxconn) ; } static void log_close (pid_t pid, uid_t uid, int w) { - char fmtpid[UINT_FMT] ; - char fmtuid[UINT64_FMT] = "?" ; + char fmtpid[PID_FMT] ; + char fmtuid[UID_FMT] = "?" ; char fmtw[UINT_FMT] ; - fmtpid[uint_fmt(fmtpid, (unsigned int)pid)] = 0 ; - if (flaglookup) fmtuid[uint64_fmt(fmtuid, (uint64)uid)] = 0 ; + fmtpid[pid_fmt(fmtpid, pid)] = 0 ; + if (flaglookup) fmtuid[uid_fmt(fmtuid, uid)] = 0 ; fmtw[uint_fmt(fmtw, WIFSIGNALED(w) ? WTERMSIG(w) : WEXITSTATUS(w))] = 0 ; strerr_warni6x("end pid ", fmtpid, " uid ", fmtuid, WIFSIGNALED(w) ? " signal " : " exitcode ", fmtw) ; } @@ -149,7 +148,7 @@ static void log_close (pid_t pid, uid_t uid, int w) static void killthem (int sig) { - register unsigned int i = 0 ; + unsigned int i = 0 ; for (; i < numconn ; i++) kill(piduid[i].left, sig) ; } @@ -159,7 +158,7 @@ static void wait_children (void) { unsigned int i ; int w ; - register pid_t pid = wait_nohang(&w) ; + pid_t pid = wait_nohang(&w) ; if (pid < 0) if (errno != ECHILD) strerr_diefu1sys(111, "wait_nohang") ; else break ; @@ -168,7 +167,7 @@ static void wait_children (void) if (i < numconn) { uid_t uid = piduid[i].right ; - register unsigned int j = lookup_uid(uid) ; + unsigned int j = lookup_uid(uid) ; if (j >= uidlen) X() ; if (!--uidnum[j].right) uidnum[j] = uidnum[--uidlen] ; piduid[i] = piduid[--numconn] ; @@ -227,34 +226,34 @@ static void handle_signals (void) /* New connection handling */ -static void run_child (int, unsigned int, unsigned int, unsigned int, char const *, char const *const *, char const *const *) gccattr_noreturn ; -static void run_child (int s, unsigned int uid, unsigned int gid, unsigned int num, char const *remotepath, char const *const *argv, char const *const *envp) +static void run_child (int, uid_t, gid_t, unsigned int, char const *, char const *const *, char const *const *) gccattr_noreturn ; +static void run_child (int s, uid_t uid, gid_t gid, unsigned int num, char const *remotepath, char const *const *argv, char const *const *envp) { - size_t rplen = str_len(remotepath) + 1 ; + size_t rplen = strlen(remotepath) + 1 ; unsigned int n = 0 ; - char fmt[65 + UINT_FMT * 3 + rplen] ; + char fmt[65 + UID_FMT + GID_FMT + UINT_FMT + rplen] ; PROG = "s6-ipcserver (child)" ; if ((fd_move(0, s) < 0) || (fd_copy(1, 0) < 0)) strerr_diefu1sys(111, "move fds") ; - byte_copy(fmt+n, 23, "PROTO=IPC\0IPCREMOTEEUID") ; n += 23 ; + memcpy(fmt+n, "PROTO=IPC\0IPCREMOTEEUID", 23) ; n += 23 ; if (flaglookup) { fmt[n++] = '=' ; - n += uint_fmt(fmt+n, uid) ; + n += uid_fmt(fmt+n, uid) ; } fmt[n++] = 0 ; - byte_copy(fmt+n, 13, "IPCREMOTEEGID") ; n += 13 ; + memcpy(fmt+n, "IPCREMOTEEGID", 13) ; n += 13 ; if (flaglookup) { fmt[n++] = '=' ; - n += uint_fmt(fmt+n, gid) ; + n += gid_fmt(fmt+n, gid) ; } fmt[n++] = 0 ; - byte_copy(fmt+n, 11, "IPCCONNNUM=") ; n += 11 ; + memcpy(fmt+n, "IPCCONNNUM=", 11) ; n += 11 ; if (flaglookup) n += uint_fmt(fmt+n, num) ; fmt[n++] = 0 ; - byte_copy(fmt+n, 14, "IPCREMOTEPATH=") ; n += 14 ; - byte_copy(fmt+n, rplen, remotepath) ; n += rplen ; + memcpy(fmt+n, "IPCREMOTEPATH=", 14) ; n += 14 ; + memcpy(fmt+n, remotepath, rplen) ; n += rplen ; pathexec_r(argv, envp, env_len(envp), fmt, n) ; strerr_dieexec(111, argv[0]) ; } @@ -263,8 +262,8 @@ static void new_connection (int s, char const *remotepath, char const *const *ar { uid_t uid = 0 ; gid_t gid = 0 ; + pid_t pid ; unsigned int num, i ; - register pid_t pid ; if (flaglookup && (getpeereid(s, &uid, &gid) < 0)) { if (verbosity) strerr_warnwu1sys("getpeereid") ; @@ -314,7 +313,7 @@ int main (int argc, char const *const *argv, char const *const *envp) int flag1 = 0 ; for (;;) { - register int opt = subgetopt_r(argc, argv, "Pp1c:C:v:", &l) ; + int opt = subgetopt_r(argc, argv, "Pp1c:C:v:", &l) ; if (opt == -1) break ; switch (opt) { @@ -393,15 +392,15 @@ int main (int argc, char const *const *argv, char const *const *envp) { int dummy ; char remotepath[IPCPATH_MAX+1] ; - register int s = ipc_accept(x[1].fd, remotepath, IPCPATH_MAX+1, &dummy) ; - if (s < 0) + int sock = ipc_accept(x[1].fd, remotepath, IPCPATH_MAX+1, &dummy) ; + if (sock < 0) { if (verbosity) strerr_warnwu1sys("accept") ; } else { - new_connection(s, remotepath, argv, envp) ; - fd_close(s) ; + new_connection(sock, remotepath, argv, envp) ; + fd_close(sock) ; } } } diff --git a/src/conn-tools/s6-sudo.c b/src/conn-tools/s6-sudo.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -20,7 +20,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "qQvp:l:et:T:", &l) ; + int opt = subgetopt_r(argc, argv, "qQvp:l:et:T:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/conn-tools/s6-sudoc.c b/src/conn-tools/s6-sudoc.c @@ -1,14 +1,14 @@ /* ISC license. */ +#include <string.h> #include <stdint.h> #include <errno.h> #include <fcntl.h> #include <signal.h> +#include <sys/uio.h> #include <sys/wait.h> -#include <skalibs/uint32.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> -#include <skalibs/bytestr.h> #include <skalibs/buffer.h> #include <skalibs/stralloc.h> #include <skalibs/strerr2.h> @@ -36,7 +36,7 @@ int main (int argc, char const *const *argv, char const *const *envp) PROG = "s6-sudoc" ; for (;;) { - register int opt = subgetopt_r(argc, argv, "et:T:", &l) ; + int opt = subgetopt_r(argc, argv, "et:T:", &l) ; if (opt < 0) break ; switch (opt) { @@ -59,33 +59,33 @@ int main (int argc, char const *const *argv, char const *const *envp) char tmp[S6_SUDO_BANNERB_LEN] ; if (buffer_timed_get_g(&b6, tmp, S6_SUDO_BANNERB_LEN, &deadline) < S6_SUDO_BANNERB_LEN) strerr_diefu1sys(111, "read banner from s6-sudod") ; - if (str_diffn(tmp, S6_SUDO_BANNERB, S6_SUDO_BANNERB_LEN)) + if (strncmp(tmp, S6_SUDO_BANNERB, S6_SUDO_BANNERB_LEN)) strerr_dief1x(100, "wrong server banner") ; } { int fds[3] = { 0, 1, 2 } ; char pack[16] ; - siovec_t v[4] = { - { .s = S6_SUDO_BANNERA, .len = S6_SUDO_BANNERA_LEN }, - { .s = pack, .len = 16 }, - { .s = 0, .len = 0 }, - { .s = 0, .len = 0 } } ; + struct iovec v[4] = { + { .iov_base = S6_SUDO_BANNERA, .iov_len = S6_SUDO_BANNERA_LEN }, + { .iov_base = pack, .iov_len = 16 }, + { .iov_base = 0, .iov_len = 0 }, + { .iov_base = 0, .iov_len = 0 } } ; unixmessage_v_t mv = { .v = v, .vlen = 4, .fds = fds, .nfds = 3 } ; stralloc sa = STRALLOC_ZERO ; size_t envlen = doenv ? env_len(envp) : 0 ; uint32_pack_big(pack, (uint32_t)argc) ; uint32_pack_big(pack + 4, (uint32_t)envlen) ; if (!env_string(&sa, argv, argc)) dienomem() ; - v[2].len = sa.len ; - uint32_pack_big(pack + 8, (uint32_t)v[2].len) ; + v[2].iov_len = sa.len ; + uint32_pack_big(pack + 8, (uint32_t)v[2].iov_len) ; if (doenv) { if (!env_string(&sa, envp, envlen)) dienomem() ; - v[3].len = sa.len - v[2].len ; + v[3].iov_len = sa.len - v[2].iov_len ; } - uint32_pack_big(pack + 12, (uint32)v[3].len) ; - v[2].s = sa.s ; - v[3].s = sa.s + v[2].len ; + uint32_pack_big(pack + 12, (uint32_t)v[3].iov_len) ; + v[2].iov_base = sa.s ; + v[3].iov_base = sa.s + v[2].iov_len ; if (!unixmessage_putv_and_close(&b7, &mv, (unsigned char const *)"\003")) strerr_diefu1sys(111, "unixmessage_putv") ; stralloc_free(&sa) ; @@ -112,6 +112,5 @@ int main (int argc, char const *const *argv, char const *const *envp) strerr_diefu1sys(111, "get exit status from server") ; uint_unpack_big(pack, &t) ; } - if (WIFSIGNALED(t)) raise(WTERMSIG(t)) ; - return WEXITSTATUS(t) ; + return wait_estatus(t) ; } diff --git a/src/conn-tools/s6-sudod.c b/src/conn-tools/s6-sudod.c @@ -1,13 +1,12 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <stdint.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <signal.h> -#include <skalibs/uint32.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/allreadwrite.h> #include <skalibs/sgetopt.h> #include <skalibs/bytestr.h> @@ -40,7 +39,7 @@ int main (int argc, char const *const *argv, char const *const *envp) PROG = "s6-sudod" ; for (;;) { - register int opt = subgetopt_r(argc, argv, "012t:", &l) ; + int opt = subgetopt_r(argc, argv, "012t:", &l) ; if (opt < 0) break ; switch (opt) { @@ -67,7 +66,7 @@ int main (int argc, char const *const *argv, char const *const *envp) strerr_dief1x(100, "client did not send 3 fds") ; if (m.len < 16 + S6_SUDO_BANNERA_LEN) strerr_dief1x(100, "wrong client message") ; - if (str_diffn(m.s, S6_SUDO_BANNERA, S6_SUDO_BANNERA_LEN)) + if (strncmp(m.s, S6_SUDO_BANNERA, S6_SUDO_BANNERA_LEN)) strerr_dief1x(100, "wrong client banner") ; uint32_unpack_big(m.s + S6_SUDO_BANNERA_LEN, &cargc) ; uint32_unpack_big(m.s + S6_SUDO_BANNERA_LEN + 4, &cenvc) ; @@ -100,7 +99,7 @@ int main (int argc, char const *const *argv, char const *const *envp) char const *targv[argc + 1 + cargc] ; char const *tenvp[envc + 1 + cenvc] ; int p[2] ; - register unsigned int i = 0 ; + unsigned int i = 0 ; for (; i < (unsigned int)argc ; i++) targv[i] = argv[i] ; for (i = 0 ; i <= envc ; i++) tenvp[i] = envp[i] ; if (!env_make(targv + argc, cargc, m.s + S6_SUDO_BANNERA_LEN + 16, carglen)) @@ -124,8 +123,8 @@ int main (int argc, char const *const *argv, char const *const *envp) for (i = 0 ; i < cenvc ; i++) { char const *var = tenvp[envc + 1 + i] ; - register unsigned int j = 0 ; - register size_t len = str_chr(var, '=') ; + unsigned int j = 0 ; + size_t len = str_chr(var, '=') ; if (!var[len]) { char c = EINVAL ; @@ -133,7 +132,7 @@ int main (int argc, char const *const *argv, char const *const *envp) buffer_timed_flush_g(buffer_1small, &deadline) ; strerr_dief1x(100, "bad environment from client") ; } - for (; j < envc ; j++) if (!str_diffn(var, tenvp[j], len+1)) break ; + for (; j < envc ; j++) if (!strncmp(var, tenvp[j], len+1)) break ; if ((j < envc) && !tenvp[j][len+1]) tenvp[j] = var ; } @@ -167,7 +166,7 @@ int main (int argc, char const *const *argv, char const *const *envp) fd_close(p[1]) ; { char c ; - register ssize_t r = fd_read(p[0], &c, 1) ; + ssize_t r = fd_read(p[0], &c, 1) ; if (r < 0) strerr_diefu1sys(111, "read from child") ; if (r) { diff --git a/src/daemontools-extras/s6-applyuidgid.c b/src/daemontools-extras/s6-applyuidgid.c @@ -1,12 +1,10 @@ /* ISC license. */ #include <skalibs/nonposix.h> -#include <sys/types.h> #include <unistd.h> #include <grp.h> #include <limits.h> -#include <skalibs/uint64.h> -#include <skalibs/gidstuff.h> +#include <skalibs/types.h> #include <skalibs/setgroups.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> @@ -18,29 +16,29 @@ int main (int argc, char const *const *argv, char const *const *envp) { - uint64 uid = 0 ; + uid_t uid = 0 ; gid_t gid = 0 ; gid_t gids[NGROUPS_MAX] ; - unsigned int gidn = (unsigned int)-1 ; + size_t gidn = (size_t)-1 ; int unexport = 0 ; PROG = "s6-applyuidgid" ; { subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "zUu:g:G:", &l) ; + int opt = subgetopt_r(argc, argv, "zUu:g:G:", &l) ; if (opt == -1) break ; switch (opt) { case 'z' : unexport = 1 ; break ; - case 'u' : if (!uint640_scan(l.arg, &uid)) dieusage() ; break ; + case 'u' : if (!uid0_scan(l.arg, &uid)) dieusage() ; break ; case 'g' : if (!gid0_scan(l.arg, &gid)) dieusage() ; break ; case 'G' : if (!gid_scanlist(gids, NGROUPS_MAX, l.arg, &gidn) && *l.arg) dieusage() ; break ; case 'U' : { char const *x = env_get2(envp, "UID") ; if (!x) strerr_dienotset(100, "UID") ; - if (!uint640_scan(x, &uid)) strerr_dieinvalid(100, "UID") ; + if (!uid0_scan(x, &uid)) strerr_dieinvalid(100, "UID") ; x = env_get2(envp, "GID") ; if (!x) strerr_dienotset(100, "GID") ; if (!gid0_scan(x, &gid)) strerr_dieinvalid(100, "GID") ; @@ -57,12 +55,11 @@ int main (int argc, char const *const *argv, char const *const *envp) } if (!argc) dieusage() ; - if (uid > (uint64)(uid_t)-1) strerr_dief1x(100, "uid value too big") ; - if (gidn != (unsigned int)-1 && setgroups(gidn, gids) < 0) + if (gidn != (size_t)-1 && setgroups(gidn, gids) < 0) strerr_diefu1sys(111, "set supplementary group list") ; if (gid && setgid(gid) < 0) strerr_diefu1sys(111, "setgid") ; - if (uid && setuid((uid_t)uid) < 0) + if (uid && setuid(uid) < 0) strerr_diefu1sys(111, "setuid") ; if (unexport) pathexec_r(argv, envp, env_len(envp), "UID\0GID\0GIDLIST", 16) ; diff --git a/src/daemontools-extras/s6-envdir.c b/src/daemontools-extras/s6-envdir.c @@ -19,7 +19,7 @@ int main (int argc, char const *const *argv, char const *const *envp) PROG = "s6-envdir" ; for (;;) { - register int opt = subgetopt_r(argc, argv, "Iinfc:", &l) ; + int opt = subgetopt_r(argc, argv, "Iinfc:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/daemontools-extras/s6-envuidgid.c b/src/daemontools-extras/s6-envuidgid.c @@ -1,24 +1,21 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <pwd.h> #include <grp.h> #include <limits.h> -#include <skalibs/uint64.h> -#include <skalibs/gidstuff.h> -#include <skalibs/bytestr.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/env.h> -#include <skalibs/fmtscan.h> #include <skalibs/djbunix.h> #define USAGE "s6-envuidgid [ -i | -D defaultuid:defaultgid ] [ -u | -g | -B ] [ -n ] account prog..." #define dieusage() strerr_dieusage(100, USAGE) -static inline size_t scan_defaults (char const *s, uint64 *uid, gid_t *gid, unsigned int *n, gid_t *tab) +static inline size_t scan_defaults (char const *s, uid_t *uid, gid_t *gid, size_t *n, gid_t *tab) { - size_t pos = uint64_scan(s, uid) ; + size_t pos = uid_scan(s, uid) ; if (!pos) { if (*s != ':') return 0 ; @@ -54,16 +51,16 @@ int main (int argc, char *const *argv, char const *const *envp) unsigned int what = 7 ; int numfallback = 0 ; int insist = 1 ; - uint64 uid ; + uid_t uid ; gid_t gid ; - unsigned int n ; + size_t n ; gid_t tab[NGROUPS_MAX] ; PROG = "s6-envuidgid" ; { subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, (char const *const *)argv, "ugBniD:", &l) ; + int opt = subgetopt_r(argc, (char const *const *)argv, "ugBniD:", &l) ; if (opt == -1) break ; switch (opt) { @@ -94,13 +91,13 @@ int main (int argc, char *const *argv, char const *const *envp) break ; case 3 : /* both */ { - size_t pos = str_chr(argv[0], ':') ; + char *colon = strchr(argv[0], ':') ; user = argv[0] ; - if (argv[0][pos]) + if (colon) { - argv[0][pos] = 0 ; - group = argv[0] + pos + 1 ; - if (!pos) user = 0 ; + *colon = 0 ; + group = colon + 1 ; + if (colon == argv[0]) user = 0 ; if (!group[0]) group = 0 ; } break ; @@ -131,28 +128,28 @@ int main (int argc, char *const *argv, char const *const *envp) gid = pw->pw_gid ; } } - else if (numfallback && uint64_scan(user, &uid)) ; + else if (numfallback && uid_scan(user, &uid)) ; else if (insist) strerr_dief2x(1, "unknown user: ", user) ; } { size_t pos = 0 ; - char fmt[19 + UINT64_FMT + (NGROUPS_MAX+1) * GID_FMT] ; + char fmt[19 + UID_FMT + (NGROUPS_MAX+1) * GID_FMT] ; if (what & 1) { - byte_copy(fmt + pos, 4, "UID=") ; pos += 4 ; - pos += uint64_fmt(fmt + pos, uid) ; + memcpy(fmt + pos, "UID=", 4) ; pos += 4 ; + pos += uid_fmt(fmt + pos, uid) ; fmt[pos++] = 0 ; } if (what & 2) { - byte_copy(fmt + pos, 4, "GID=") ; pos += 4 ; + memcpy(fmt + pos, "GID=", 4) ; pos += 4 ; pos += gid_fmt(fmt + pos, gid) ; fmt[pos++] = 0 ; } if (what & 4) { - byte_copy(fmt + pos, 8, "GIDLIST=") ; pos += 8 ; + memcpy(fmt + pos, "GIDLIST=", 8) ; pos += 8 ; pos += gid_fmtlist(fmt + pos, tab, n) ; fmt[pos++] = 0 ; } diff --git a/src/daemontools-extras/s6-fghack.c b/src/daemontools-extras/s6-fghack.c @@ -1,6 +1,5 @@ /* ISC license. */ -#include <sys/types.h> #include <unistd.h> #include <errno.h> #include <sys/wait.h> diff --git a/src/daemontools-extras/s6-log.c b/src/daemontools-extras/s6-log.c @@ -1,17 +1,17 @@ /* ISC license. */ -#include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> +#include <stdint.h> +#include <string.h> #include <errno.h> #include <signal.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <regex.h> -#include <skalibs/uint32.h> #include <skalibs/uint64.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/allreadwrite.h> #include <skalibs/buffer.h> #include <skalibs/bytestr.h> @@ -141,11 +141,11 @@ struct logdir_s unsigned int xindex ; tain_t retrytto ; tain_t deadline ; - uint64 maxdirsize ; - uint32 b ; - uint32 n ; - uint32 s ; - uint32 tolerance ; + uint64_t maxdirsize ; + uint32_t b ; + uint32_t n ; + uint32_t s ; + uint32_t tolerance ; pid_t pid ; char const *dir ; char const *processor ; @@ -188,13 +188,13 @@ static unsigned int llen = 0 ; static int filesize_cmp (filesize_t const *a, filesize_t const *b) { - return byte_diff(a->name+1, 26, b->name+1) ; + return memcmp(a->name+1, b->name+1, 26) ; } static int name_is_relevant (char const *name) { tain_t dummy ; - if (str_len(name) != 27) return 0 ; + if (strlen(name) != 27) return 0 ; if (!timestamp_scan(name, &dummy)) return 0 ; if (name[25] != '.') return 0 ; if ((name[26] != 's') && (name[26] != 'u')) return 0 ; @@ -216,7 +216,7 @@ static inline int logdir_trim (logdir_t *ldp) } if (errno) { - register int e = errno ; + int e = errno ; dir_close(dir) ; errno = e ; return -1 ; @@ -224,12 +224,12 @@ static inline int logdir_trim (logdir_t *ldp) rewinddir(dir) ; if (n) { - uint64 totalsize = 0 ; - size_t dirlen = str_len(ldp->dir) ; + uint64_t totalsize = 0 ; + size_t dirlen = strlen(ldp->dir) ; unsigned int i = 0 ; filesize_t blurgh[n] ; char fullname[dirlen + 29] ; - byte_copy(fullname, dirlen, ldp->dir) ; + memcpy(fullname, ldp->dir, dirlen) ; fullname[dirlen] = '/' ; for (;;) { @@ -240,20 +240,20 @@ static inline int logdir_trim (logdir_t *ldp) if (!d) break ; if (!name_is_relevant(d->d_name)) continue ; if (i >= n) { errno = EBUSY ; break ; } - byte_copy(fullname + dirlen + 1, 28, d->d_name) ; + memcpy(fullname + dirlen + 1, d->d_name, 28) ; if (stat(fullname, &st) < 0) { if (verbosity) strerr_warnwu2sys("stat ", fullname) ; continue ; } - byte_copy(blurgh[i].name, 28, d->d_name) ; + memcpy(blurgh[i].name, d->d_name, 28) ; blurgh[i].size = st.st_size ; totalsize += st.st_size ; i++ ; } if (errno) { - register int e = errno ; + int e = errno ; dir_close(dir) ; errno = e ; return -1 ; @@ -265,7 +265,7 @@ static inline int logdir_trim (logdir_t *ldp) n = 0 ; while ((i > ldp->n + n) || (ldp->maxdirsize && (totalsize > ldp->maxdirsize))) { - byte_copy(fullname + dirlen + 1, 28, blurgh[n].name) ; + memcpy(fullname + dirlen + 1, blurgh[n].name, 28) ; if (unlink(fullname) < 0) { if (errno == ENOENT) totalsize -= blurgh[n].size ; @@ -281,17 +281,17 @@ static inline int logdir_trim (logdir_t *ldp) static int finish (logdir_t *ldp, char const *name, char suffix) { struct stat st ; - size_t dirlen = str_len(ldp->dir) ; - size_t namelen = str_len(name) ; + size_t dirlen = strlen(ldp->dir) ; + size_t namelen = strlen(name) ; char x[dirlen + namelen + 2] ; - byte_copy(x, dirlen, ldp->dir) ; + memcpy(x, ldp->dir, dirlen) ; x[dirlen] = '/' ; - byte_copy(x + dirlen + 1, namelen + 1, name) ; + memcpy(x + dirlen + 1, name, namelen + 1) ; if (stat(x, &st) < 0) return errno == ENOENT ? 0 : -1 ; if (st.st_nlink == 1) { char y[dirlen + 29] ; - byte_copy(y, dirlen, ldp->dir) ; + memcpy(y, ldp->dir, dirlen) ; y[dirlen] = '/' ; timestamp_g(y + dirlen + 1) ; y[dirlen + 26] = '.' ; @@ -329,7 +329,7 @@ static inline void exec_processor (logdir_t *ldp) static int rotator (logdir_t *ldp) { - size_t dirlen = str_len(ldp->dir) ; + size_t dirlen = strlen(ldp->dir) ; switch (ldp->rstate) { case ROTSTATE_START : @@ -344,10 +344,10 @@ static int rotator (logdir_t *ldp) { char current[dirlen + 9] ; char previous[dirlen + 10] ; - byte_copy(current, dirlen, ldp->dir) ; - byte_copy(current + dirlen, 9, "/current") ; - byte_copy(previous, dirlen, ldp->dir) ; - byte_copy(previous + dirlen, 10, "/previous") ; + memcpy(current, ldp->dir, dirlen) ; + memcpy(current + dirlen, "/current", 9) ; + memcpy(previous, ldp->dir, dirlen) ; + memcpy(previous + dirlen, "/previous", 10) ; if (rename(current, previous) < 0) { if (verbosity) strerr_warnwu4sys("rename ", current, " to ", previous) ; @@ -359,8 +359,8 @@ static int rotator (logdir_t *ldp) { int fd ; char x[dirlen + 9] ; - byte_copy(x, dirlen, ldp->dir) ; - byte_copy(x + dirlen, 9, "/current") ; + memcpy(x, ldp->dir, dirlen) ; + memcpy(x + dirlen, "/current", 9) ; fd = open_append(x) ; if (fd < 0) { @@ -369,7 +369,7 @@ static int rotator (logdir_t *ldp) } if (coe(fd) < 0) { - register int e = errno ; + int e = errno ; fd_close(fd) ; errno = e ; if (verbosity) strerr_warnwu2sys("coe ", x) ; @@ -377,7 +377,7 @@ static int rotator (logdir_t *ldp) } if (fd_chmod(fd, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) < 0) { - register int e = errno ; + int e = errno ; fd_close(fd) ; errno = e ; if (verbosity) strerr_warnwu3sys("fchmod ", x, " to 0644") ; @@ -391,8 +391,8 @@ static int rotator (logdir_t *ldp) case ROTSTATE_CHMODPREVIOUS : { char x[dirlen + 10] ; - byte_copy(x, dirlen, ldp->dir) ; - byte_copy(x + dirlen, 10, "/previous") ; + memcpy(x, ldp->dir, dirlen) ; + memcpy(x + dirlen, "/previous", 10) ; if (chmod(x, S_IRWXU | S_IRGRP | S_IROTH) < 0) { if (verbosity) strerr_warnwu3sys("chmod ", x, " to 0744") ; @@ -431,8 +431,8 @@ static int rotator (logdir_t *ldp) { int fd ; char x[dirlen + 11] ; - byte_copy(x, dirlen, ldp->dir) ; - byte_copy(x + dirlen, 11, "/processed") ; + memcpy(x, ldp->dir, dirlen) ; + memcpy(x + dirlen, "/processed", 11) ; fd = open_append(x) ; if (fd < 0) { @@ -441,7 +441,7 @@ static int rotator (logdir_t *ldp) } if (fd_sync(fd) < 0) { - register int e = errno ; + int e = errno ; fd_close(fd) ; errno = e ; if (verbosity) strerr_warnwu2sys("fd_sync ", x) ; @@ -450,7 +450,7 @@ static int rotator (logdir_t *ldp) tain_now_g() ; if (fd_chmod(fd, S_IRWXU | S_IRGRP | S_IROTH) < 0) { - register int e = errno ; + int e = errno ; fd_close(fd) ; errno = e ; if (verbosity) strerr_warnwu3sys("fd_chmod ", x, " to 0744") ; @@ -463,8 +463,8 @@ static int rotator (logdir_t *ldp) { int fd ; char x[dirlen + 10] ; - byte_copy(x, dirlen, ldp->dir) ; - byte_copy(x + dirlen, 10, "/newstate") ; + memcpy(x, ldp->dir, dirlen) ; + memcpy(x + dirlen, "/newstate", 10) ; fd = open_append(x) ; if (fd < 0) { @@ -483,8 +483,8 @@ static int rotator (logdir_t *ldp) case ROTSTATE_UNLINKPREVIOUS : { char x[dirlen + 10] ; - byte_copy(x, dirlen, ldp->dir) ; - byte_copy(x + dirlen, 10, "/previous") ; + memcpy(x, ldp->dir, dirlen) ; + memcpy(x + dirlen, "/previous", 10) ; if ((unlink(x) < 0) && (errno != ENOENT)) { if (verbosity) strerr_warnwu2sys("open_append ", x) ; @@ -496,10 +496,10 @@ static int rotator (logdir_t *ldp) { char newstate[dirlen + 10] ; char state[dirlen + 7] ; - byte_copy(newstate, dirlen, ldp->dir) ; - byte_copy(state, dirlen, ldp->dir) ; - byte_copy(newstate + dirlen, 10, "/newstate") ; - byte_copy(state + dirlen, 7, "/state") ; + memcpy(newstate, ldp->dir, dirlen) ; + memcpy(state, ldp->dir, dirlen) ; + memcpy(newstate + dirlen, "/newstate", 10) ; + memcpy(state + dirlen, "/state", 7) ; if (rename(newstate, state) < 0) { if (verbosity) strerr_warnwu4sys("rename ", newstate, " to ", state) ; @@ -524,7 +524,7 @@ static int rotator (logdir_t *ldp) return 0 ; } -static int logdir_write (int i, char const *s, size_t len) +static ssize_t logdir_write (int i, char const *s, size_t len) { logdir_t *ldp = logdirs + i ; ssize_t r ; @@ -563,7 +563,7 @@ static inline void rotate_or_flush (logdir_t *ldp) bufalloc_flush(&ldp->out) ; } -static inline void logdir_init (unsigned int index, uint32_t s, uint32_t n, uint32_t tolerance, uint64 maxdirsize, tain_t const *retrytto, char const *processor, char const *name, unsigned int flags) +static inline void logdir_init (unsigned int index, uint32_t s, uint32_t n, uint32_t tolerance, uint64_t maxdirsize, tain_t const *retrytto, char const *processor, char const *name, unsigned int flags) { logdir_t *ldp = logdirs + index ; struct stat st ; @@ -583,25 +583,25 @@ static inline void logdir_init (unsigned int index, uint32_t s, uint32_t n, uint ldp->rstate = ROTSTATE_WRITABLE ; r = mkdir(ldp->dir, S_IRWXU | S_ISGID) ; if ((r < 0) && (errno != EEXIST)) strerr_diefu2sys(111, "mkdir ", name) ; - byte_copy(x, dirlen, name) ; - byte_copy(x + dirlen, 6, "/lock") ; + memcpy(x, name, dirlen) ; + memcpy(x + dirlen, "/lock", 6) ; ldp->fdlock = open_append(x) ; if ((ldp->fdlock) < 0) strerr_diefu2sys(111, "open_append ", x) ; if (lock_exnb(ldp->fdlock) < 0) strerr_diefu2sys(111, "lock_exnb ", x) ; if (coe(ldp->fdlock) < 0) strerr_diefu2sys(111, "coe ", x) ; - byte_copy(x + dirlen + 1, 8, "current") ; + memcpy(x + dirlen + 1, "current", 8) ; if (stat(x, &st) < 0) { if (errno != ENOENT) strerr_diefu2sys(111, "stat ", x) ; } else if (st.st_mode & S_IXUSR) goto opencurrent ; - byte_copy(x + dirlen + 1, 6, "state") ; + memcpy(x + dirlen + 1, "state", 6) ; unlink(x) ; - byte_copy(x + dirlen + 1, 9, "newstate") ; + memcpy(x + dirlen + 1, "newstate", 9) ; unlink(x) ; { int flagprocessed = 0 ; - byte_copy(x + dirlen + 1, 10, "processed") ; + memcpy(x + dirlen + 1, "processed", 10) ; if (stat(x, &st) < 0) { if (errno != ENOENT) strerr_diefu2sys(111, "stat ", x) ; @@ -609,7 +609,7 @@ static inline void logdir_init (unsigned int index, uint32_t s, uint32_t n, uint else if (st.st_mode & S_IXUSR) flagprocessed = 1 ; if (flagprocessed) { - byte_copy(x + dirlen + 1, 9, "previous") ; + memcpy(x + dirlen + 1, "previous", 9) ; unlink(x) ; if (finish(ldp, "processed", 's') < 0) strerr_diefu2sys(111, "finish processed .s for logdir ", ldp->dir) ; @@ -623,12 +623,12 @@ static inline void logdir_init (unsigned int index, uint32_t s, uint32_t n, uint } if (finish(ldp, "current", 'u') < 0) strerr_diefu2sys(111, "finish current .u for logdir ", ldp->dir) ; - byte_copy(x + dirlen + 1, 6, "state") ; + memcpy(x + dirlen + 1, "state", 6) ; ldp->fd = open_trunc(x) ; if (ldp->fd < 0) strerr_diefu2sys(111, "open_trunc ", x) ; fd_close(ldp->fd) ; st.st_size = 0 ; - byte_copy(x + dirlen + 1, 8, "current") ; + memcpy(x + dirlen + 1, "current", 8) ; opencurrent: ldp->fd = open_append(x) ; if (ldp->fd < 0) strerr_diefu2sys(111, "open_append ", x) ; @@ -779,7 +779,7 @@ static inline void script_secondpass (char const *const *argv, scriptelem_t *scr uint32_t s = 99999 ; uint32_t n = 10 ; uint32_t tolerance = 2000 ; - uint64 maxdirsize = 0 ; + uint64_t maxdirsize = 0 ; char const *processor = 0 ; unsigned int sel = 0, act = 0, lidx = 0, flags = 0 ; int flagacted = 0 ; @@ -948,7 +948,7 @@ static void script_run (scriptelem_t const *script, unsigned int scriptlen, char for (j = 0 ; j < script[i].actlen ; j++) { act_t const *act = script[i].acts + j ; - siovec_t v[4] = { { .s = tstamp, .len = act->flags & 1 ? TIMESTAMP+1 : 0 }, { .s = hstamp, .len = act->flags & 2 ? hlen : 0 }, { .s = (char *)s, .len = len }, { .s = "\n", .len = 1 } } ; + struct iovec v[4] = { { .iov_base = tstamp, .iov_len = act->flags & 1 ? TIMESTAMP+1 : 0 }, { .iov_base = hstamp, .iov_len = act->flags & 2 ? hlen : 0 }, { .iov_base = (char *)s, .iov_len = len }, { .iov_base = "\n", .iov_len = 1 } } ; switch (act->type) { case ACTTYPE_FD1 : @@ -961,9 +961,9 @@ static void script_run (scriptelem_t const *script, unsigned int scriptlen, char buffer_puts(buffer_2, ": alert: ") ; if (act->data.fd2_size && act->data.fd2_size + 3 < len) { - v[2].len = act->data.fd2_size ; - v[3].s = "...\n" ; - v[3].len = 4 ; + v[2].iov_len = act->data.fd2_size ; + v[3].iov_base = "...\n" ; + v[3].iov_len = 4 ; } buffer_putv(buffer_2, v, 4) ; buffer_flush(buffer_2) ; /* if it blocks, too bad */ @@ -977,10 +977,10 @@ static void script_run (scriptelem_t const *script, unsigned int scriptlen, char siovec_trunc(v, 4, act->data.status.filelen) ; else { - register size_t k = act->data.status.filelen - reallen + 1 ; + size_t k = act->data.status.filelen - reallen + 1 ; char pad[k] ; - v[3].s = pad ; - v[3].len = k ; + v[3].iov_base = pad ; + v[3].iov_len = k ; while (k--) pad[k] = '\n' ; if (!openwritevnclose_suffix(act->data.status.file, v, 4, ".new") && verbosity) strerr_warnwu2sys("write status file ", act->data.status.file) ; @@ -1115,8 +1115,8 @@ static inline void handle_signals (void) case 0 : return ; case SIGALRM : { - register unsigned int i = 0 ; - for (i = 0 ; i < llen ; i++) + unsigned int i = 0 ; + for (; i < llen ; i++) if ((logdirs[i].rstate == ROTSTATE_WRITABLE) && logdirs[i].b) { logdirs[i].rstate = ROTSTATE_START ; @@ -1135,8 +1135,8 @@ static inline void handle_signals (void) for (;;) { int wstat ; - register unsigned int i = 0 ; - register pid_t r = wait_nohang(&wstat) ; + unsigned int i = 0 ; + pid_t r = wait_nohang(&wstat) ; if (r <= 0) break ; for (; i < llen ; i++) if (r == logdirs[i].pid) break ; if (i < llen) processor_died(logdirs + i, wstat) ; @@ -1161,7 +1161,7 @@ int main (int argc, char const *const *argv) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "qvbptel:", &l) ; + int opt = subgetopt_r(argc, argv, "qvbptel:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/daemontools-extras/s6-setlock.c b/src/daemontools-extras/s6-setlock.c @@ -1,13 +1,12 @@ /* ISC license. */ -#include <sys/types.h> #include <unistd.h> #include <errno.h> #include <signal.h> #include <skalibs/allreadwrite.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/tai.h> #include <skalibs/iopause.h> #include <skalibs/djbunix.h> @@ -28,7 +27,7 @@ int main (int argc, char const *const *argv, char const *const *envp) PROG = "s6-setlock" ; for (;;) { - register int opt = subgetopt(argc, argv, "nNrwt:") ; + int opt = subgetopt(argc, argv, "nNrwt:") ; if (opt == -1) break ; switch (opt) { @@ -68,7 +67,7 @@ int main (int argc, char const *const *argv, char const *const *envp) for (;;) { ssize_t rr ; - register int r = iopause_g(&x, 1, &deadline) ; + int r = iopause_g(&x, 1, &deadline) ; if (r < 0) strerr_diefu1sys(111, "iopause") ; if (!r) { diff --git a/src/daemontools-extras/s6-setsid.c b/src/daemontools-extras/s6-setsid.c @@ -2,7 +2,7 @@ #include <unistd.h> #include <signal.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/sig.h> @@ -19,7 +19,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "sbfgiIqd:", &l) ; + int opt = subgetopt_r(argc, argv, "sbfgiIqd:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/daemontools-extras/s6-setuidgid.c b/src/daemontools-extras/s6-setuidgid.c @@ -1,7 +1,6 @@ /* ISC license. */ -#include <sys/types.h> -#include <skalibs/bytestr.h> +#include <string.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> #include <s6/config.h> @@ -12,20 +11,20 @@ int main (int argc, char *const *argv, char const *const *envp) { char const *newargv[argc + 7] ; - size_t pos ; + char *colon ; unsigned int m = 0 ; PROG = "s6-setuidgid" ; if (argc < 3) dieusage() ; argv++ ; - pos = str_chr(argv[0], ':') ; - if (argv[0][pos]) + colon = strchr(argv[0], ':') ; + if (colon) { - argv[0][pos] = 0 ; + *colon = 0 ; newargv[m++] = S6_BINPREFIX "s6-applyuidgid" ; newargv[m++] = "-u" ; newargv[m++] = argv[0] ; newargv[m++] = "-g" ; - newargv[m++] = argv[0] + pos + 1 ; + newargv[m++] = colon + 1 ; newargv[m++] = "-G" ; newargv[m++] = "" ; argv++ ; diff --git a/src/daemontools-extras/s6-softlimit.c b/src/daemontools-extras/s6-softlimit.c @@ -30,7 +30,7 @@ int main (int argc, char const *const *argv, char const *const *envp) PROG = "s6-softlimit" ; for (;;) { - register int opt = subgetopt_r(argc, argv, "a:c:d:f:l:m:o:p:r:s:t:", &l) ; + int opt = subgetopt_r(argc, argv, "a:c:d:f:l:m:o:p:r:s:t:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/daemontools-extras/s6-tai64n.c b/src/daemontools-extras/s6-tai64n.c @@ -1,5 +1,6 @@ /* ISC license. */ +#include <sys/types.h> #include <errno.h> #include <skalibs/buffer.h> #include <skalibs/strerr2.h> @@ -14,7 +15,7 @@ int main (void) stamp[TIMESTAMP] = ' ' ; for (;;) { - register int r = skagetln(buffer_0f1, &satmp, '\n') ; + int r = skagetln(buffer_0f1, &satmp, '\n') ; if (r < 0) if (errno != EPIPE) strerr_diefu1sys(111, "read from stdin") ; @@ -26,8 +27,8 @@ int main (void) } else if (!r) break ; timestamp(stamp) ; - if ((buffer_put(buffer_1, stamp, TIMESTAMP+1) < 0) - || (buffer_put(buffer_1, satmp.s, satmp.len) < 0)) + if ((buffer_put(buffer_1, stamp, TIMESTAMP+1) < TIMESTAMP+1) + || (buffer_put(buffer_1, satmp.s, satmp.len) < (ssize_t)satmp.len)) strerr_diefu1sys(111, "write to stdout") ; satmp.len = 0 ; } diff --git a/src/daemontools-extras/s6-tai64nlocal.c b/src/daemontools-extras/s6-tai64nlocal.c @@ -2,8 +2,6 @@ #include <sys/types.h> #include <errno.h> -#include <skalibs/allreadwrite.h> -#include <skalibs/fmtscan.h> #include <skalibs/buffer.h> #include <skalibs/strerr2.h> #include <skalibs/tai.h> @@ -34,11 +32,11 @@ int main (void) size_t len ; localtmn_from_tain(&local, &a, 1) ; len = localtmn_fmt(fmt, &local) ; - if (buffer_put(buffer_1, fmt, len) < 0) + if (buffer_put(buffer_1, fmt, len) < (ssize_t)len) strerr_diefu1sys(111, "write to stdout") ; } } - if (buffer_put(buffer_1, satmp.s + p, satmp.len - p) < 0) + if (buffer_put(buffer_1, satmp.s + p, satmp.len - p) < (ssize_t)(satmp.len - p)) strerr_diefu1sys(111, "write to stdout") ; satmp.len = 0 ; } diff --git a/src/daemontools-extras/ucspilogd.c b/src/daemontools-extras/ucspilogd.c @@ -10,7 +10,7 @@ #include <errno.h> #include <stdlib.h> #include <syslog.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/bytestr.h> #include <skalibs/buffer.h> @@ -138,7 +138,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "D:", &l) ; + int opt = subgetopt_r(argc, argv, "D:", &l) ; if (opt == -1) break ; switch (opt) { @@ -162,7 +162,7 @@ int main (int argc, char const *const *argv, char const *const *envp) size_t pos = 0 ; satmp.len = 0 ; { - register int r = skagetlnsep(buffer_0f1, &satmp, "\n", 2) ; + int r = skagetlnsep(buffer_0f1, &satmp, "\n", 2) ; if (r < 0) { if (errno != EPIPE || !stralloc_0(&satmp)) @@ -181,7 +181,7 @@ int main (int argc, char const *const *argv, char const *const *envp) if ((buffer_puts(buffer_1, envs[i]) < 0) || (buffer_put(buffer_1, ": ", 2) < 2)) die() ; pos += syslog_names(satmp.s + pos) ; - if (buffer_put(buffer_1, satmp.s + pos, satmp.len - pos) < (int)(satmp.len - pos)) die() ; + if (buffer_put(buffer_1, satmp.s + pos, satmp.len - pos) < (ssize_t)(satmp.len - pos)) die() ; } } return 0 ; diff --git a/src/fdholder/s6-fdholder-daemon.c b/src/fdholder/s6-fdholder-daemon.c @@ -2,8 +2,7 @@ #include <sys/types.h> #include <limits.h> -#include <skalibs/uint.h> -#include <skalibs/gidstuff.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -20,7 +19,7 @@ int main (int argc, char const *const *argv, char const *const *envp) int flagreuse = 1 ; unsigned int uid = 0, gid = 0 ; gid_t gids[NGROUPS_MAX] ; - unsigned int gidn = (unsigned int)-1 ; + size_t gidn = (size_t)-1 ; unsigned int maxconn = 0 ; unsigned int maxfds = 0 ; unsigned int backlog = (unsigned int)-1 ; @@ -33,7 +32,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "Dd1Uv:c:n:b:u:g:G:t:T:i:x:", &l) ; + int opt = subgetopt_r(argc, argv, "Dd1Uv:c:n:b:u:g:G:t:T:i:x:", &l) ; if (opt == -1) break ; switch (opt) { @@ -47,7 +46,7 @@ int main (int argc, char const *const *argv, char const *const *envp) case 'u' : if (!uint0_scan(l.arg, &uid)) dieusage() ; break ; case 'g' : if (!uint0_scan(l.arg, &gid)) dieusage() ; break ; case 'G' : if (!gid_scanlist(gids, NGROUPS_MAX, l.arg, &gidn) && *l.arg) dieusage() ; break ; - case 'U' : flagU = 1 ; uid = 0 ; gid = 0 ; gidn = (unsigned int)-1 ; break ; + case 'U' : flagU = 1 ; uid = 0 ; gid = 0 ; gidn = (size_t)-1 ; break ; case 't' : if (!uint0_scan(l.arg, &timeout)) dieusage() ; break ; case 'T' : if (!uint0_scan(l.arg, &ltimeout)) dieusage() ; break ; case 'i' : rulesdir = l.arg ; rulesfile = 0 ; break ; @@ -76,7 +75,7 @@ int main (int argc, char const *const *argv, char const *const *envp) } newargv[m++] = "--" ; newargv[m++] = *argv++ ; - if (flagU || uid || gid || gidn != (unsigned int)-1) + if (flagU || uid || gid || gidn != (size_t)-1) { newargv[m++] = S6_BINPREFIX "s6-applyuidgid" ; if (flagU) newargv[m++] = "-Uz" ; @@ -94,7 +93,7 @@ int main (int argc, char const *const *argv, char const *const *envp) pos += uint_fmt(fmt + pos, gid) ; fmt[pos++] = 0 ; } - if (gidn != (unsigned int)-1) + if (gidn != (size_t)-1) { newargv[m++] = "-G" ; newargv[m++] = fmt + pos ; diff --git a/src/fdholder/s6-fdholder-delete.c b/src/fdholder/s6-fdholder-delete.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -20,7 +20,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:", &l) ; + int opt = subgetopt_r(argc, argv, "t:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-deletec.c b/src/fdholder/s6-fdholder-deletec.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> #include <skalibs/tai.h> @@ -19,7 +19,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:", &l) ; + int opt = subgetopt_r(argc, argv, "t:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-getdump.c b/src/fdholder/s6-fdholder-getdump.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -18,7 +18,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:", &l) ; + int opt = subgetopt_r(argc, argv, "t:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-getdumpc.c b/src/fdholder/s6-fdholder-getdumpc.c @@ -1,9 +1,8 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <limits.h> -#include <skalibs/uint.h> -#include <skalibs/bytestr.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> #include <skalibs/tai.h> @@ -25,7 +24,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:", &l) ; + int opt = subgetopt_r(argc, argv, "t:", &l) ; if (opt == -1) break ; switch (opt) { @@ -53,25 +52,25 @@ int main (int argc, char const *const *argv, char const *const *envp) unsigned int i = 0 ; char modifs[7 + UINT_FMT + (25 + TIMESTAMP + 4 * UINT_FMT) * n] ; if (n > UINT_MAX) strerr_dief1x(100, "dump exceeds maximum size") ; - byte_copy(modifs + pos, 7, "S6_FD#=") ; pos += 7 ; + memcpy(modifs + pos, "S6_FD#=", 7) ; pos += 7 ; pos += uint_fmt(modifs + pos, n) ; modifs[pos++] = 0 ; for (; i < n ; i++) { s6_fdholder_fd_t *p = genalloc_s(s6_fdholder_fd_t, &dump) + i ; - size_t len = str_len(p->id) + 1 ; + size_t len = strlen(p->id) + 1 ; if (uncoe(p->fd) < 0) strerr_diefu1sys(111, "uncoe") ; - byte_copy(modifs + pos, 6, "S6_FD_") ; pos += 6 ; + memcpy(modifs + pos, "S6_FD_", 6) ; pos += 6 ; pos += uint_fmt(modifs + pos, i) ; modifs[pos++] = '=' ; pos += uint_fmt(modifs + pos, p->fd) ; modifs[pos++] = 0 ; - byte_copy(modifs + pos, 8, "S6_FDID_") ; pos += 8 ; + memcpy(modifs + pos, "S6_FDID_", 8) ; pos += 8 ; pos += uint_fmt(modifs + pos, i) ; modifs[pos++] = '=' ; - byte_copy(modifs + pos, len, p->id) ; + memcpy(modifs + pos, p->id, len) ; pos += len ; - byte_copy(modifs + pos, 11, "S6_FDLIMIT_") ; pos += 11 ; + memcpy(modifs + pos, "S6_FDLIMIT_", 11) ; pos += 11 ; pos += uint_fmt(modifs + pos, i) ; if (tain_less(&p->limit, &halfinfinite)) { diff --git a/src/fdholder/s6-fdholder-list.c b/src/fdholder/s6-fdholder-list.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -21,7 +21,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "d:t:T:", &l) ; + int opt = subgetopt_r(argc, argv, "d:t:T:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-listc.c b/src/fdholder/s6-fdholder-listc.c @@ -1,8 +1,7 @@ /* ISC license. */ -#include <sys/types.h> -#include <skalibs/uint.h> -#include <skalibs/bytestr.h> +#include <string.h> +#include <skalibs/types.h> #include <skalibs/buffer.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> @@ -27,7 +26,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:", &l) ; + int opt = subgetopt_r(argc, argv, "t:", &l) ; if (opt == -1) break ; switch (opt) { @@ -47,7 +46,7 @@ int main (int argc, char const *const *argv, char const *const *envp) if (n < 0) strerr_diefu1sys(1, "get fd list") ; while (n--) { - register size_t len = str_len(sa.s + pos) ; + size_t len = strlen(sa.s + pos) ; sb.len = 0 ; if (!string_quote_nodelim_mustquote(&sb, sa.s + pos, len, 0, 0)) strerr_diefu1sys(111, "quote string") ; diff --git a/src/fdholder/s6-fdholder-retrieve.c b/src/fdholder/s6-fdholder-retrieve.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -19,7 +19,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "Dt:", &l) ; + int opt = subgetopt_r(argc, argv, "Dt:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-retrievec.c b/src/fdholder/s6-fdholder-retrievec.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> #include <skalibs/tai.h> @@ -22,7 +22,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "Dt:", &l) ; + int opt = subgetopt_r(argc, argv, "Dt:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-setdump.c b/src/fdholder/s6-fdholder-setdump.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -20,7 +20,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:", &l) ; + int opt = subgetopt_r(argc, argv, "t:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-setdumpc.c b/src/fdholder/s6-fdholder-setdumpc.c @@ -1,8 +1,7 @@ /* ISC license. */ -#include <sys/types.h> -#include <skalibs/uint.h> -#include <skalibs/bytestr.h> +#include <string.h> +#include <skalibs/types.h> #include <skalibs/env.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> @@ -24,7 +23,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:", &l) ; + int opt = subgetopt_r(argc, argv, "t:", &l) ; if (opt == -1) break ; switch (opt) { @@ -52,20 +51,20 @@ int main (int argc, char const *const *argv, char const *const *envp) { size_t len ; unsigned int fd ; - byte_copy(s, 6, "S6_FD_") ; + memcpy(s, "S6_FD_", 6) ; s[6 + uint_fmt(s+6, i)] = 0 ; x = env_get2(envp, s) ; if (!x) strerr_dienotset(100, s) ; if (!uint0_scan(x, &fd)) strerr_dieinvalid(100, s) ; dump[i].fd = fd ; - byte_copy(s, 8, "S6_FDID_") ; + memcpy(s, "S6_FDID_", 8) ; s[8 + uint_fmt(s+8, i)] = 0 ; x = env_get2(envp, s) ; if (!x) strerr_dienotset(100, s) ; - len = str_len(x) ; + len = strlen(x) ; if (!len || len > S6_FDHOLDER_ID_SIZE) strerr_dieinvalid(100, s) ; - byte_copy(dump[i].id, len+1, x) ; - byte_copy(s, 11, "S6_FDLIMIT_") ; + memcpy(dump[i].id, x, len+1) ; + memcpy(s, "S6_FDLIMIT_", 11) ; s[11 + uint_fmt(s+11, i)] = 0 ; x = env_get2(envp, s) ; if (!x) tain_add_g(&dump[i].limit, &tain_infinite_relative) ; diff --git a/src/fdholder/s6-fdholder-store.c b/src/fdholder/s6-fdholder-store.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -22,7 +22,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "d:t:T:", &l) ; + int opt = subgetopt_r(argc, argv, "d:t:T:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-storec.c b/src/fdholder/s6-fdholder-storec.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> #include <skalibs/tai.h> @@ -19,7 +19,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:T:", &l) ; + int opt = subgetopt_r(argc, argv, "t:T:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-transferdump.c b/src/fdholder/s6-fdholder-transferdump.c @@ -1,7 +1,7 @@ /* ISC license. */ #include <sys/types.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/env.h> #include <skalibs/strerr2.h> @@ -24,7 +24,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:", &l) ; + int opt = subgetopt_r(argc, argv, "t:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholder-transferdumpc.c b/src/fdholder/s6-fdholder-transferdumpc.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> #include <skalibs/tai.h> @@ -21,7 +21,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "t:T:", &l) ; + int opt = subgetopt_r(argc, argv, "t:T:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/fdholder/s6-fdholderd.c b/src/fdholder/s6-fdholderd.c @@ -1,15 +1,15 @@ /* ISC license. */ -#include <sys/types.h> +#include <sys/uio.h> #include <sys/stat.h> #include <sys/resource.h> +#include <string.h> #include <unistd.h> #include <fcntl.h> #include <errno.h> #include <signal.h> #include <regex.h> -#include <skalibs/uint32.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/allreadwrite.h> #include <skalibs/sgetopt.h> #include <skalibs/env.h> @@ -21,7 +21,6 @@ #include <skalibs/sig.h> #include <skalibs/iopause.h> #include <skalibs/selfpipe.h> -#include <skalibs/siovec.h> #include <skalibs/cdb.h> #include <skalibs/getpeereid.h> #include <skalibs/webipc.h> @@ -102,7 +101,7 @@ static void *fds_id_dtok (unsigned int d, void *x) static int fds_id_cmp (void const *a, void const *b, void *x) { (void)x ; - return str_diff((char const *)a, (char const *)b) ; + return strcmp((char const *)a, (char const *)b) ; } static void *fds_deadline_dtok (unsigned int d, void *x) @@ -113,8 +112,8 @@ static void *fds_deadline_dtok (unsigned int d, void *x) static int fds_deadline_cmp (void const *a, void const *b, void *x) { - register tain_t const *aa = (tain_t const *)a ; - register tain_t const *bb = (tain_t const *)b ; + tain_t const *aa = (tain_t const *)a ; + tain_t const *bb = (tain_t const *)b ; (void)x ; return tain_less(aa, bb) ? -1 : tain_less(bb, aa) ; } @@ -163,7 +162,7 @@ static inline void client_free (client_t *c) static inline void client_delete (unsigned int cc, unsigned int prev) { - register client_t *c = CLIENT(cc) ; + client_t *c = CLIENT(cc) ; CLIENT(prev)->next = c->next ; client_free(c) ; genset_delete(clients, cc) ; @@ -186,7 +185,7 @@ static void client_setdeadline (client_t *c) static inline int client_prepare_iopause (unsigned int i, tain_t *deadline, iopause_fd *x, unsigned int *j) { - register client_t *c = CLIENT(i) ; + client_t *c = CLIENT(i) ; if (tain_less(&c->deadline, deadline)) *deadline = c->deadline ; if (!unixmessage_sender_isempty(&c->connection.out) || !unixmessage_receiver_isempty(&c->connection.in) || (cont && !unixmessage_receiver_isfull(&c->connection.in))) { @@ -217,7 +216,7 @@ static inline void client_add (unsigned int *cc, int fd, regex_t const *rre, reg static inline int client_flush (unsigned int i, iopause_fd const *x) { - register client_t *c = CLIENT(i) ; + client_t *c = CLIENT(i) ; if (c->xindex && (x[c->xindex].revents & IOPAUSE_WRITE)) { if (unixconnection_flush(&c->connection)) @@ -261,8 +260,8 @@ static int do_store (unsigned int cc, unixmessage_t const *m) if (!answer(c, 0)) return 0 ; pp = genset_new(fdstore) ; p = FD(pp) ; tain_unpack(m->s, &p->limit) ; p->fd = m->fds[0] ; - byte_copy(p->id, idlen, m->s + TAIN_PACK + 1) ; - byte_zero(p->id + idlen, S6_FDHOLDER_ID_SIZE + 1 - idlen) ; + memcpy(p->id, m->s + TAIN_PACK + 1, idlen) ; + memset(p->id + idlen, 0, S6_FDHOLDER_ID_SIZE + 1 - idlen) ; for (;;) { unsigned int dummy ; @@ -308,24 +307,24 @@ static int do_retrieve (unsigned int cc, unixmessage_t const *m) static int fill_siovec_with_ids_iter (char *thing, void *data) { - siovec_t *v = (*(siovec_t **)data)++ ; + struct iovec *v = (*(struct iovec **)data)++ ; s6_fdholder_fd_t *p = (s6_fdholder_fd_t *)thing ; - v->s = p->id ; - v->len = str_len(p->id) + 1 ; + v->iov_base = p->id ; + v->iov_len = strlen(p->id) + 1 ; return 1 ; } static int do_list (unsigned int cc, unixmessage_t const *m) { client_t *c = CLIENT(cc) ; - siovec_t v[numfds] ; + struct iovec v[numfds] ; unixmessage_v_t ans = { .v = v, .vlen = 1+numfds, .fds = 0, .nfds = 0 } ; - siovec_t *vp = v + 1 ; + struct iovec *vp = v + 1 ; char pack[5] = "" ; if (c->dumping || m->len || m->nfds) return (errno = EPROTO, 0) ; if (!(c->flags & 4)) return answer(c, EPERM) ; uint32_pack_big(pack + 1, (uint32_t)numfds) ; - v[0].s = pack ; v[0].len = 5 ; + v[0].iov_base = pack ; v[0].iov_len = 5 ; genset_iter(fdstore, &fill_siovec_with_ids_iter, &vp) ; if (!unixmessage_putv(&c->connection.out, &ans)) return answer(c, errno) ; client_setdeadline(c) ; @@ -335,7 +334,7 @@ static int do_list (unsigned int cc, unixmessage_t const *m) typedef struct getdumpiter_s getdumpiter_t, *getdumpiter_t_ref ; struct getdumpiter_s { - siovec_t *v ; + struct iovec *v ; int *fd ; char *limit ; } ; @@ -344,11 +343,11 @@ static int getdump_iter (char *thing, void *stuff) { s6_fdholder_fd_t *p = (s6_fdholder_fd_t *)thing ; getdumpiter_t *blah = stuff ; - unsigned char len = str_len(p->id) ; + unsigned char len = strlen(p->id) ; tain_pack(blah->limit, &p->limit) ; blah->limit[TAIN_PACK] = (unsigned char)len ; - blah->v->s = p->id ; - blah->v->len = len + 1 ; + blah->v->iov_base = p->id ; + blah->v->iov_len = len + 1 ; *blah->fd++ = p->fd ; blah->v += 2 ; blah->limit += TAIN_PACK + 1 ; @@ -372,13 +371,13 @@ static int do_getdump (unsigned int cc, unixmessage_t const *m) { unsigned int i = 0 ; unixmessage_v_t ans[n] ; - siovec_t v[numfds << 1] ; + struct iovec v[numfds << 1] ; int fds[numfds] ; char limits[(TAIN_PACK+1) * numfds] ; for (; i < numfds ; i++) { - v[i<<1].s = limits + i * (TAIN_PACK+1) ; - v[i<<1].len = TAIN_PACK+1 ; + v[i<<1].iov_base = limits + i * (TAIN_PACK+1) ; + v[i<<1].iov_len = TAIN_PACK+1 ; } { getdumpiter_t state = { .v = v+1, .fd = fds, .limit = limits } ; @@ -458,7 +457,7 @@ static int do_setdump_data (unsigned int cc, unixmessage_t const *m) indices[i] = genset_new(fdstore) ; p = FD(indices[i]) ; tain_unpack(s, &p->limit) ; - byte_copy(p->id, idlen+1, s + TAIN_PACK + 1) ; + memcpy(p->id, s + TAIN_PACK + 1, idlen+1) ; p->fd = m->fds[i] ; if (avltreen_search(fds_by_id, p->id, &oldid)) fds_close_and_delete(oldid) ; avltreen_insert(fds_by_id, indices[i]) ; @@ -514,7 +513,7 @@ static inline int parse_protocol (unixmessage_t const *m, void *p) static inline int client_read (unsigned int cc, iopause_fd const *x) { - register client_t *c = CLIENT(cc) ; + client_t *c = CLIENT(cc) ; return !unixmessage_receiver_isempty(&c->connection.in) || (c->xindex && (x[c->xindex].revents & IOPAUSE_READ)) ? unixmessage_handle(&c->connection.in, &parse_protocol, &cc) > 0 : 1 ; } @@ -524,7 +523,7 @@ static inline int client_read (unsigned int cc, iopause_fd const *x) static int makere (regex_t *re, char const *s, char const *var) { - register size_t varlen = str_len(var) ; + size_t varlen = strlen(var) ; if (str_start(s, var) && (s[varlen] == '=')) { int r = regcomp(re, s + varlen + 1, REG_EXTENDED | REG_NOSUB) ; @@ -617,10 +616,10 @@ static inline int new_connection (int fd, regex_t *rre, regex_t *wre, unsigned i } if (params.exec.len && verbosity) { - char fmtuid[UINT_FMT] ; - char fmtgid[UINT_FMT] ; - fmtuid[uint_fmt(fmtuid, uid)] = 0 ; - fmtgid[uint_fmt(fmtgid, gid)] = 0 ; + char fmtuid[UID_FMT] ; + char fmtgid[GID_FMT] ; + fmtuid[uid_fmt(fmtuid, uid)] = 0 ; + fmtgid[gid_fmt(fmtgid, gid)] = 0 ; strerr_warnw4x("unused exec string in rules for uid ", fmtuid, " gid ", fmtgid) ; } if (params.env.s) @@ -658,7 +657,7 @@ int main (int argc, char const *const *argv, char const *const *envp) unsigned int t = 0, T = 0 ; for (;;) { - register int opt = subgetopt_r(argc, argv, "v:1c:n:i:x:t:T:", &l) ; + int opt = subgetopt_r(argc, argv, "v:1c:n:i:x:t:T:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/include/s6/ftrigr.h b/src/include/s6/ftrigr.h @@ -3,9 +3,8 @@ #ifndef FTRIGR_H #define FTRIGR_H +#include <stdint.h> #include <skalibs/config.h> -#include <skalibs/uint16.h> -#include <skalibs/uint32.h> #include <skalibs/tai.h> #include <skalibs/genalloc.h> #include <skalibs/gensetdyn.h> @@ -40,12 +39,12 @@ enum fr1state_e typedef struct ftrigr1_s ftrigr1_t, *ftrigr1_t_ref ; struct ftrigr1_s { - uint32 options ; + uint32_t options ; unsigned int count ; fr1state_t state ; char what ; } ; -#define FTRIGR1_ZERO { 0, 0, FR1STATE_ERROR, 0 } +#define FTRIGR1_ZERO { .options = 0, .count = 0, .state = FR1STATE_ERROR, .what = 0 } extern ftrigr1_t const ftrigr1_zero ; @@ -55,7 +54,7 @@ typedef struct ftrigr_s ftrigr, ftrigr_t, *ftrigr_ref, *ftrigr_t_ref ; struct ftrigr_s { skaclient_t connection ; - genalloc list ; /* array of uint16 */ + genalloc list ; /* array of uint16_t */ gensetdyn data ; /* set of ftrigr1_t */ skaclient_buffer_t buffers ; } ; @@ -76,21 +75,21 @@ extern void ftrigr_end (ftrigr_t *) ; #define ftrigr_fd(a) skaclient_fd(&(a)->connection) extern int ftrigr_update (ftrigr_t *) ; -extern int ftrigr_check (ftrigr_t *, uint16, char *) ; +extern int ftrigr_check (ftrigr_t *, uint16_t, char *) ; /* Synchronous functions with timeouts */ #define FTRIGR_REPEAT 0x0001 -extern uint16 ftrigr_subscribe (ftrigr_t *, char const *, char const *, uint32, tain_t const *, tain_t *) ; +extern uint16_t ftrigr_subscribe (ftrigr_t *, char const *, char const *, uint32_t, tain_t const *, tain_t *) ; #define ftrigr_subscribe_g(a, path, re, options, deadline) ftrigr_subscribe(a, path, re, options, (deadline), &STAMP) -extern int ftrigr_unsubscribe (ftrigr_t *, uint16, tain_t const *, tain_t *) ; +extern int ftrigr_unsubscribe (ftrigr_t *, uint16_t, tain_t const *, tain_t *) ; #define ftrigr_unsubscribe_g(a, id, deadline) ftrigr_unsubscribe(a, id, (deadline), &STAMP) -extern int ftrigr_wait_and (ftrigr_t *, uint16 const *, unsigned int, tain_t const *, tain_t *) ; +extern int ftrigr_wait_and (ftrigr_t *, uint16_t const *, unsigned int, tain_t const *, tain_t *) ; #define ftrigr_wait_and_g(a, list, len, deadline) ftrigr_wait_and(a, list, len, (deadline), &STAMP) -extern int ftrigr_wait_or (ftrigr_t *, uint16 const *, unsigned int, tain_t const *, tain_t *, char *) ; +extern int ftrigr_wait_or (ftrigr_t *, uint16_t const *, unsigned int, tain_t const *, tain_t *, char *) ; #define ftrigr_wait_or_g(a, list, len, deadline, what) ftrigr_wait_or(a, list, len, deadline, &STAMP, what) #endif diff --git a/src/include/s6/ftrigw.h b/src/include/s6/ftrigw.h @@ -3,14 +3,14 @@ #ifndef FTRIGW_H #define FTRIGW_H -#include <sys/types.h> -#include <skalibs/bytestr.h> +#include <sys/stat.h> +#include <string.h> -extern int ftrigw_fifodir_make (char const *, int, int) ; +extern int ftrigw_fifodir_make (char const *, gid_t, int) ; extern int ftrigw_notify (char const *, char) ; extern int ftrigw_notifyb (char const *, char const *, size_t) ; extern int ftrigw_notifyb_nosig (char const *, char const *, size_t) ; -#define ftrigw_notifys(f, s) ftrigw_notifyb(f, (s), str_len(s)) +#define ftrigw_notifys(f, s) ftrigw_notifyb(f, (s), strlen(s)) extern int ftrigw_clean (char const *) ; #endif diff --git a/src/include/s6/s6lock.h b/src/include/s6/s6lock.h @@ -3,8 +3,8 @@ #ifndef S6LOCK_H #define S6LOCK_H +#include <stdint.h> #include <errno.h> -#include <skalibs/uint16.h> #include <skalibs/tai.h> #include <skalibs/genalloc.h> #include <skalibs/gensetdyn.h> @@ -29,7 +29,7 @@ typedef struct s6lock_s s6lock_t, *s6lock_t_ref ; struct s6lock_s { skaclient_t connection ; - genalloc list ; /* array of uint16 */ + genalloc list ; /* array of uint16_t */ gensetdyn data ; /* set of char */ skaclient_buffer_t buffers ; } ; @@ -50,7 +50,7 @@ extern void s6lock_end (s6lock_t *) ; #define s6lock_fd(a) skaclient_fd(&(a)->connection) extern int s6lock_update (s6lock_t *) ; -extern int s6lock_check (s6lock_t *, uint16) ; +extern int s6lock_check (s6lock_t *, uint16_t) ; /* Synchronous functions */ @@ -58,18 +58,18 @@ extern int s6lock_check (s6lock_t *, uint16) ; #define S6LOCK_OPTIONS_SH 0x0000U #define S6LOCK_OPTIONS_EX 0x0001U -extern int s6lock_acquire (s6lock_t *, uint16 *, char const *, uint32, tain_t const *, tain_t const *, tain_t *) ; +extern int s6lock_acquire (s6lock_t *, uint16_t *, char const *, uint32_t, tain_t const *, tain_t const *, tain_t *) ; #define s6lock_acquire_g(a, id, path, options, limit, deadline) s6lock_acquire(a, id, path, options, limit, (deadline), &STAMP) #define s6lock_acquire_sh(a, id, path, limit, deadline, stamp) s6lock_aquire(a, id, path, S6LOCK_OPTIONS_SH, limit, deadline, stamp) #define s6lock_acquire_ex(a, id, path, limit, deadline, stamp) s6lock_aquire(a, id, path, S6LOCK_OPTIONS_EX, limit, deadline, stamp) #define s6lock_acquire_sh_g(a, id, path, limit, deadline) s6lock_acquire_sh(a, id, path, limit, (deadline), &STAMP) #define s6lock_acquire_ex_g(a, id, path, limit, deadline) s6lock_acquire_ex(a, id, path, limit, (deadline), &STAMP) -extern int s6lock_release (s6lock_t *, uint16, tain_t const *, tain_t *) ; +extern int s6lock_release (s6lock_t *, uint16_t, tain_t const *, tain_t *) ; #define s6lock_release_g(a, id, deadline) s6lock_release(a, id, (deadline), &STAMP) -extern int s6lock_wait_and (s6lock_t *, uint16 const *, unsigned int, tain_t const *, tain_t *) ; +extern int s6lock_wait_and (s6lock_t *, uint16_t const *, unsigned int, tain_t const *, tain_t *) ; #define s6lock_wait_and_g(a, list, len, deadline) s6lock_wait_and(a, list, len, (deadline), &STAMP) -extern int s6lock_wait_or (s6lock_t *, uint16 const *, unsigned int, tain_t const *, tain_t *) ; +extern int s6lock_wait_or (s6lock_t *, uint16_t const *, unsigned int, tain_t const *, tain_t *) ; #define s6lock_wait_or_g(a, list, len, deadline) s6lock_wait_or(a, list, len, (deadline), &STAMP) #endif diff --git a/src/libs6/ftrig1_make.c b/src/libs6/ftrig1_make.c @@ -1,11 +1,10 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <sys/stat.h> #include <unistd.h> -#include <stdio.h> /* for rename() */ +#include <stdio.h> #include <errno.h> -#include <skalibs/bytestr.h> #include <skalibs/tai.h> #include <skalibs/stralloc.h> #include <skalibs/djbunix.h> @@ -32,13 +31,13 @@ static inline void surfname (char *s, size_t n) int ftrig1_make (ftrig1_t *f, char const *path) { ftrig1_t ff = FTRIG1_ZERO ; - size_t pathlen = str_len(path) ; + size_t pathlen = strlen(path) ; int e = 0 ; char tmp[pathlen + 46 + FTRIG1_PREFIXLEN] ; - byte_copy(tmp, pathlen, path) ; + memcpy(tmp, path, pathlen) ; tmp[pathlen] = '/' ; tmp[pathlen+1] = '.' ; - byte_copy(tmp + pathlen + 2, FTRIG1_PREFIXLEN, FTRIG1_PREFIX) ; + memcpy(tmp + pathlen + 2, FTRIG1_PREFIX, FTRIG1_PREFIXLEN) ; tmp[pathlen + 2 + FTRIG1_PREFIXLEN] = ':' ; if (!timestamp(tmp + pathlen + 3 + FTRIG1_PREFIXLEN)) return 0 ; tmp[pathlen + 28 + FTRIG1_PREFIXLEN] = ':' ; diff --git a/src/libs6/ftrigr_check.c b/src/libs6/ftrigr_check.c @@ -22,7 +22,7 @@ int ftrigr_check (ftrigr_t *a, uint16_t id, char *c) } case FR1STATE_LISTENING : { - register unsigned int r = p->count ; + unsigned int r = p->count ; if (r) *c = p->what ; p->count = 0 ; return (int)r ; diff --git a/src/libs6/ftrigr_subscribe.c b/src/libs6/ftrigr_subscribe.c @@ -1,11 +1,10 @@ /* ISC license. */ -#include <sys/types.h> +#include <sys/uio.h> +#include <string.h> #include <stdint.h> #include <errno.h> -#include <skalibs/uint16.h> -#include <skalibs/uint32.h> -#include <skalibs/siovec.h> +#include <skalibs/types.h> #include <skalibs/tai.h> #include <skalibs/gensetdyn.h> #include <skalibs/skaclient.h> @@ -13,20 +12,25 @@ uint16_t ftrigr_subscribe (ftrigr_t *a, char const *path, char const *re, uint32_t options, tain_t const *deadline, tain_t *stamp) { - size_t pathlen = str_len(path) ; - size_t relen = str_len(re) ; + size_t pathlen = strlen(path) ; + size_t relen = strlen(re) ; unsigned int i ; char err ; char tmp[15] = "--L" ; - siovec_t v[3] = { { .s = tmp, .len = 15 }, { .s = (char *)path, .len = pathlen + 1 }, { .s = (char *)re, .len = relen + 1 } } ; + struct iovec v[3] = { { .iov_base = tmp, .iov_len = 15 }, { .iov_base = (char *)path, .iov_len = pathlen + 1 }, { .iov_base = (char *)re, .iov_len = relen + 1 } } ; if (!gensetdyn_new(&a->data, &i)) return 0 ; + if (i >= UINT16_MAX) + { + gensetdyn_delete(&a->data, i) ; + return (errno = EMFILE, 0) ; + } uint16_pack_big(tmp, (uint16_t)i) ; uint32_pack_big(tmp+3, options) ; uint32_pack_big(tmp+7, (uint32_t)pathlen) ; uint32_pack_big(tmp+11, (uint32_t)relen) ; if (!skaclient_sendv(&a->connection, v, 3, &skaclient_default_cb, &err, deadline, stamp)) { - register int e = errno ; + int e = errno ; gensetdyn_delete(&a->data, i) ; errno = e ; return 0 ; @@ -37,11 +41,11 @@ uint16_t ftrigr_subscribe (ftrigr_t *a, char const *path, char const *re, uint32 return (errno = err, 0) ; } { - register ftrigr1_t *p = GENSETDYN_P(ftrigr1_t, &a->data, i) ; + ftrigr1_t *p = GENSETDYN_P(ftrigr1_t, &a->data, i) ; p->options = options ; p->state = FR1STATE_LISTENING ; p->count = 0 ; p->what = 0 ; } - return (uint16)(i+1) ; + return (uint16_t)(i+1) ; } diff --git a/src/libs6/ftrigr_unsubscribe.c b/src/libs6/ftrigr_unsubscribe.c @@ -2,7 +2,7 @@ #include <stdint.h> #include <errno.h> -#include <skalibs/uint16.h> +#include <skalibs/types.h> #include <skalibs/tai.h> #include <skalibs/gensetdyn.h> #include <skalibs/skaclient.h> diff --git a/src/libs6/ftrigr_update.c b/src/libs6/ftrigr_update.c @@ -5,7 +5,7 @@ #include <errno.h> #include <skalibs/gccattributes.h> #include <skalibs/error.h> -#include <skalibs/uint16.h> +#include <skalibs/types.h> #include <skalibs/genalloc.h> #include <skalibs/gensetdyn.h> #include <skalibs/unixmessage.h> diff --git a/src/libs6/ftrigr_wait_and.c b/src/libs6/ftrigr_wait_and.c @@ -15,7 +15,7 @@ int ftrigr_wait_and (ftrigr_t *a, uint16_t const *idlist, unsigned int n, tain_t for (;;) { char dummy ; - register int r = ftrigr_check(a, *idlist, &dummy) ; + int r = ftrigr_check(a, *idlist, &dummy) ; if (r < 0) return r ; else if (r) break ; r = iopause_stamp(&x, 1, deadline, stamp) ; diff --git a/src/libs6/ftrigr_wait_or.c b/src/libs6/ftrigr_wait_or.c @@ -14,8 +14,8 @@ int ftrigr_wait_or (ftrigr_t *a, uint16_t const *idlist, unsigned int n, tain_t if (x.fd < 0) return -1 ; for (;;) { - register unsigned int i = 0 ; - register int r ; + unsigned int i = 0 ; + int r ; for (; i < n ; i++) { r = ftrigr_check(a, idlist[i], c) ; diff --git a/src/libs6/ftrigw_clean.c b/src/libs6/ftrigw_clean.c @@ -1,23 +1,22 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <unistd.h> #include <errno.h> #include <skalibs/direntry.h> -#include <skalibs/bytestr.h> #include <skalibs/djbunix.h> #include "ftrig1.h" #include <s6/ftrigw.h> int ftrigw_clean (char const *path) { - size_t pathlen = str_len(path) ; + size_t pathlen = strlen(path) ; int e = 0 ; DIR *dir = opendir(path) ; if (!dir) return 0 ; { char tmp[pathlen + FTRIG1_PREFIXLEN + 45] ; - byte_copy(tmp, pathlen, path) ; + memcpy(tmp, path, pathlen) ; tmp[pathlen] = '/' ; tmp[pathlen + FTRIG1_PREFIXLEN + 44] = 0 ; for (;;) { @@ -26,9 +25,9 @@ int ftrigw_clean (char const *path) errno = 0 ; d = readdir(dir) ; if (!d) break ; - if (str_diffn(d->d_name, FTRIG1_PREFIX, FTRIG1_PREFIXLEN)) continue ; - if (str_len(d->d_name) != FTRIG1_PREFIXLEN + 43) continue ; - byte_copy(tmp + pathlen + 1, FTRIG1_PREFIXLEN + 43, d->d_name) ; + if (strncmp(d->d_name, FTRIG1_PREFIX, FTRIG1_PREFIXLEN)) continue ; + if (strlen(d->d_name) != FTRIG1_PREFIXLEN + 43) continue ; + memcpy(tmp + pathlen + 1, d->d_name, FTRIG1_PREFIXLEN + 43) ; fd = open_write(tmp) ; if (fd >= 0) fd_close(fd) ; else if ((errno == ENXIO) && (unlink(tmp) < 0)) e = errno ; diff --git a/src/libs6/ftrigw_fifodir_make.c b/src/libs6/ftrigw_fifodir_make.c @@ -1,12 +1,11 @@ /* ISC license. */ -#include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <errno.h> #include <s6/ftrigw.h> -int ftrigw_fifodir_make (char const *path, int gid, int force) +int ftrigw_fifodir_make (char const *path, gid_t gid, int force) { mode_t m = umask(0) ; if (mkdir(path, 0700) == -1) diff --git a/src/libs6/ftrigw_notifyb_nosig.c b/src/libs6/ftrigw_notifyb_nosig.c @@ -1,11 +1,10 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <unistd.h> #include <errno.h> #include <skalibs/direntry.h> #include <skalibs/allreadwrite.h> -#include <skalibs/bytestr.h> #include <skalibs/djbunix.h> #include "ftrig1.h" #include <s6/ftrigw.h> @@ -16,9 +15,9 @@ int ftrigw_notifyb_nosig (char const *path, char const *s, size_t len) DIR *dir = opendir(path) ; if (!dir) return -1 ; { - size_t pathlen = str_len(path) ; + size_t pathlen = strlen(path) ; char tmp[pathlen + FTRIG1_PREFIXLEN + 45] ; - byte_copy(tmp, pathlen, path) ; + memcpy(tmp, path, pathlen) ; tmp[pathlen] = '/' ; tmp[pathlen + FTRIG1_PREFIXLEN + 44] = 0 ; for (;;) { @@ -27,9 +26,9 @@ int ftrigw_notifyb_nosig (char const *path, char const *s, size_t len) errno = 0 ; d = readdir(dir) ; if (!d) break ; - if (str_diffn(d->d_name, FTRIG1_PREFIX, FTRIG1_PREFIXLEN)) continue ; - if (str_len(d->d_name) != FTRIG1_PREFIXLEN + 43) continue ; - byte_copy(tmp + pathlen + 1, FTRIG1_PREFIXLEN + 43, d->d_name) ; + if (strncmp(d->d_name, FTRIG1_PREFIX, FTRIG1_PREFIXLEN)) continue ; + if (strlen(d->d_name) != FTRIG1_PREFIXLEN + 43) continue ; + memcpy(tmp + pathlen + 1, d->d_name, FTRIG1_PREFIXLEN + 43) ; fd = open_write(tmp) ; if (fd == -1) { @@ -37,7 +36,7 @@ int ftrigw_notifyb_nosig (char const *path, char const *s, size_t len) } else { - register ssize_t r = fd_write(fd, s, len) ; + ssize_t r = fd_write(fd, s, len) ; if ((r < 0) || (size_t)r < len) { if (errno == EPIPE) unlink(tmp) ; diff --git a/src/libs6/s6-ftrigrd.c b/src/libs6/s6-ftrigrd.c @@ -1,13 +1,11 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <stdint.h> #include <errno.h> #include <signal.h> #include <regex.h> -#include <skalibs/uint16.h> -#include <skalibs/uint32.h> -#include <skalibs/bytestr.h> +#include <skalibs/types.h> #include <skalibs/allreadwrite.h> #include <skalibs/error.h> #include <skalibs/strerr2.h> @@ -53,7 +51,7 @@ static void ftrigio_deepfree (ftrigio_t *p) static void cleanup (void) { - register unsigned int i = 0 ; + unsigned int i = 0 ; for (; i < n ; i++) ftrigio_deepfree(a + i) ; n = 0 ; } @@ -95,7 +93,7 @@ static inline int ftrigio_read (ftrigio_t *p) { regmatch_t pmatch ; size_t blen ; - register ssize_t r = sanitize_read(buffer_fill(&p->b)) ; + ssize_t r = sanitize_read(buffer_fill(&p->b)) ; if (!r) break ; if (r < 0) return (trig(p->id, 'd', errno), 0) ; blen = buffer_len(&p->b) ; @@ -107,7 +105,7 @@ static inline int ftrigio_read (ftrigio_t *p) { trig(p->id, '!', p->sa.s[pmatch.rm_eo - 1]) ; if (!(p->options & FTRIGR_REPEAT)) return 0 ; - byte_copy(p->sa.s, p->sa.len + 1 - pmatch.rm_eo, p->sa.s + pmatch.rm_eo) ; + memcpy(p->sa.s, p->sa.s + pmatch.rm_eo, p->sa.len + 1 - pmatch.rm_eo) ; p->sa.len -= pmatch.rm_eo ; } } @@ -127,7 +125,7 @@ static int parse_protocol (unixmessage_t const *m, void *context) { case 'U' : /* unsubscribe */ { - register unsigned int i = 0 ; + unsigned int i = 0 ; for (; i < n ; i++) if (a[i].id == id) break ; if (i < n) { diff --git a/src/libs6/s6_accessrules_backend_cdb.c b/src/libs6/s6_accessrules_backend_cdb.c @@ -1,11 +1,10 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <stdint.h> #include <unistd.h> #include <errno.h> -#include <skalibs/bytestr.h> -#include <skalibs/uint16.h> +#include <skalibs/types.h> #include <skalibs/cdb.h> #include <skalibs/stralloc.h> #include <s6/accessrules.h> @@ -16,7 +15,7 @@ s6_accessrules_result_t s6_accessrules_backend_cdb (char const *key, size_t keyl size_t execbase ; unsigned int n ; uint16_t envlen, execlen ; - register int r = cdb_find(c, key, keylen) ; + int r = cdb_find(c, key, keylen) ; if (r < 0) return S6_ACCESSRULES_ERROR ; else if (!r) return S6_ACCESSRULES_NOTFOUND ; n = cdb_datalen(c) ; @@ -31,7 +30,7 @@ s6_accessrules_result_t s6_accessrules_backend_cdb (char const *key, size_t keyl uint16_unpack_big(params->exec.s + execbase + 3 + envlen, &execlen) ; if ((execlen > 4096U) || (5U + envlen + execlen != n)) return (errno = EINVAL, S6_ACCESSRULES_ERROR) ; if (!stralloc_catb(&params->env, params->exec.s + execbase + 3U, envlen)) return S6_ACCESSRULES_ERROR ; - byte_copy(params->exec.s + execbase, execlen, params->exec.s + execbase + 5U + envlen) ; + memcpy(params->exec.s + execbase, params->exec.s + execbase + 5U + envlen, execlen) ; if (execlen) { params->exec.len += execlen ; diff --git a/src/libs6/s6_accessrules_backend_fs.c b/src/libs6/s6_accessrules_backend_fs.c @@ -1,10 +1,8 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <unistd.h> #include <errno.h> -#include <skalibs/bytestr.h> -#include <skalibs/fmtscan.h> #include <skalibs/stralloc.h> #include <skalibs/djbunix.h> #include <s6/accessrules.h> @@ -12,25 +10,25 @@ s6_accessrules_result_t s6_accessrules_backend_fs (char const *key, size_t keylen, void *data, s6_accessrules_params_t *params) { char *dir = data ; - size_t dirlen = str_len(dir) ; + size_t dirlen = strlen(dir) ; size_t envbase = params->env.len ; int wasnull = !params->env.s ; { char tmp[dirlen + keylen + 10] ; - byte_copy(tmp, dirlen, dir) ; + memcpy(tmp, dir, dirlen) ; tmp[dirlen] = '/' ; - byte_copy(tmp + dirlen + 1, keylen, key) ; - byte_copy(tmp + dirlen + keylen + 1, 7, "/allow") ; + memcpy(tmp + dirlen + 1, key, keylen) ; + memcpy(tmp + dirlen + keylen + 1, "/allow", 7) ; if (access(tmp, R_OK) < 0) { if ((errno != EACCES) && (errno != ENOENT)) return S6_ACCESSRULES_ERROR ; - byte_copy(tmp + dirlen + keylen + 2, 5, "deny") ; + memcpy(tmp + dirlen + keylen + 2, "deny", 5) ; return (access(tmp, R_OK) == 0) ? S6_ACCESSRULES_DENY : (errno != EACCES) && (errno != ENOENT) ? S6_ACCESSRULES_ERROR : S6_ACCESSRULES_NOTFOUND ; } - byte_copy(tmp + dirlen + keylen + 2, 4, "env") ; + memcpy(tmp + dirlen + keylen + 2, "env", 4) ; if ((envdir(tmp, &params->env) < 0) && (errno != ENOENT)) return S6_ACCESSRULES_ERROR ; if (!stralloc_readyplus(&params->exec, 4097)) @@ -39,9 +37,9 @@ s6_accessrules_result_t s6_accessrules_backend_fs (char const *key, size_t keyle else params->env.len = envbase ; return S6_ACCESSRULES_ERROR ; } - byte_copy(tmp + dirlen + keylen + 2, 5, "exec") ; + memcpy(tmp + dirlen + keylen + 2, "exec", 5) ; { - register ssize_t r = openreadnclose(tmp, params->exec.s + params->exec.len, 4096) ; + ssize_t r = openreadnclose(tmp, params->exec.s + params->exec.len, 4096) ; if ((r < 0) && (errno != EACCES) && (errno != ENOENT)) { if (wasnull) stralloc_free(&params->env) ; diff --git a/src/libs6/s6_accessrules_keycheck_ip4.c b/src/libs6/s6_accessrules_keycheck_ip4.c @@ -2,8 +2,7 @@ #include <sys/types.h> #include <stdint.h> -#include <skalibs/uint32.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/fmtscan.h> #include <s6/accessrules.h> @@ -15,8 +14,8 @@ s6_accessrules_result_t s6_accessrules_keycheck_ip4 (void const *key, void *data uint32_unpack_big((char const *)key, &ip) ; for (; i <= 32 ; i++) { - register s6_accessrules_result_t r ; - register size_t len = 4 + ip4_fmtu32(fmt+4, (i == 32) ? 0 : ip & ~((1U << i) - 1)) ; + s6_accessrules_result_t r ; + size_t len = 4 + ip4_fmtu32(fmt+4, (i == 32) ? 0 : ip & ~((1U << i) - 1)) ; fmt[len++] = '_' ; len += uint_fmt(fmt + len, 32 - i) ; r = (*check1)(fmt, len, data, params) ; diff --git a/src/libs6/s6_accessrules_keycheck_ip6.c b/src/libs6/s6_accessrules_keycheck_ip6.c @@ -1,8 +1,7 @@ /* ISC license. */ -#include <sys/types.h> -#include <skalibs/uint.h> -#include <skalibs/bytestr.h> +#include <string.h> +#include <skalibs/types.h> #include <skalibs/bitarray.h> #include <skalibs/fmtscan.h> #include <s6/accessrules.h> @@ -12,11 +11,11 @@ s6_accessrules_result_t s6_accessrules_keycheck_ip6 (void const *key, void *data char fmt[IP6_FMT + UINT_FMT + 6] = "ip6/" ; char ip6[16] ; unsigned int i = 0 ; - byte_copy(ip6, 16, (char const *)key) ; + memcpy(ip6, (char const *)key, 16) ; for (; i <= 128 ; i++) { size_t len ; - register s6_accessrules_result_t r ; + s6_accessrules_result_t r ; if (i) bitarray_clear(ip6, 128 - i) ; len = 4 + ip6_fmt(fmt+4, ip6) ; fmt[len++] = '_' ; diff --git a/src/libs6/s6_accessrules_keycheck_reversedns.c b/src/libs6/s6_accessrules_keycheck_reversedns.c @@ -1,6 +1,6 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <errno.h> #include <skalibs/bytestr.h> #include <s6/accessrules.h> @@ -8,17 +8,17 @@ s6_accessrules_result_t s6_accessrules_keycheck_reversedns (void const *key, void *data, s6_accessrules_params_t *params, s6_accessrules_backend_func_t_ref check1) { char const *name = key ; - size_t len = str_len(name) ; + size_t len = strlen(name) ; if (!len) return (errno = EINVAL, S6_ACCESSRULES_ERROR) ; if (name[len-1] == '.') len-- ; { size_t i = 0 ; char tmp[len + 11] ; - byte_copy(tmp, 11, "reversedns/") ; + memcpy(tmp, "reversedns/", 11) ; while (i < len) { - register s6_accessrules_result_t r ; - byte_copy(tmp+11, len-i, name+i) ; + s6_accessrules_result_t r ; + memcpy(tmp+11, name+i, len-i) ; r = (*check1)(tmp, 11+len-i, data, params) ; if (r != S6_ACCESSRULES_NOTFOUND) return r ; i += byte_chr(name+i, len-i, '.') + 1 ; diff --git a/src/libs6/s6_accessrules_keycheck_uidgid.c b/src/libs6/s6_accessrules_keycheck_uidgid.c @@ -1,13 +1,13 @@ /* ISC license. */ #include <skalibs/uint64.h> -#include <skalibs/gidstuff.h> +#include <skalibs/types.h> #include <s6/accessrules.h> s6_accessrules_result_t s6_accessrules_keycheck_uidgid (void const *key, void *data, s6_accessrules_params_t *params, s6_accessrules_backend_func_t_ref check1) { char fmt[4 + UINT64_FMT] = "uid/" ; - register s6_accessrules_result_t r = (*check1)(fmt, 4 + uint64_fmt(fmt+4, ((uidgid_t const *)key)->left), data, params) ; + s6_accessrules_result_t r = (*check1)(fmt, 4 + uid_fmt(fmt+4, ((uidgid_t const *)key)->left), data, params) ; if (r != S6_ACCESSRULES_NOTFOUND) return r ; fmt[0] = 'g' ; r = (*check1)(fmt, 4 + gid_fmt(fmt+4, ((uidgid_t const *)key)->right), data, params) ; diff --git a/src/libs6/s6_fdholder_delete.c b/src/libs6/s6_fdholder_delete.c @@ -1,4 +1,4 @@ - /* ISC license. */ +/* ISC license. */ #include <errno.h> #include <skalibs/allreadwrite.h> diff --git a/src/libs6/s6_fdholder_delete_async.c b/src/libs6/s6_fdholder_delete_async.c @@ -1,17 +1,16 @@ - /* ISC license. */ +/* ISC license. */ -#include <sys/types.h> +#include <sys/uio.h> +#include <string.h> #include <errno.h> -#include <skalibs/bytestr.h> -#include <skalibs/siovec.h> #include <skalibs/unixmessage.h> #include <s6/s6-fdholder.h> int s6_fdholder_delete_async (s6_fdholder_t *a, char const *id) { - size_t idlen = str_len(id) ; + size_t idlen = strlen(id) ; char pack[2] = "D" ; - siovec_t v[2] = { { .s = pack, .len = 2 }, { .s = (char *)id, .len = idlen + 1 } } ; + struct iovec v[2] = { { .iov_base = pack, .iov_len = 2 }, { .iov_base = (char *)id, .iov_len = idlen + 1 } } ; unixmessage_v_t m = { .v = v, .vlen = 2, .fds = 0, .nfds = 0 } ; if (idlen > S6_FDHOLDER_ID_SIZE) return (errno = ENAMETOOLONG, 0) ; pack[1] = (unsigned char)idlen ; diff --git a/src/libs6/s6_fdholder_getdump.c b/src/libs6/s6_fdholder_getdump.c @@ -1,12 +1,11 @@ - /* ISC license. */ +/* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <stdint.h> #include <errno.h> -#include <skalibs/uint32.h> +#include <skalibs/types.h> #include <skalibs/allreadwrite.h> #include <skalibs/error.h> -#include <skalibs/bytestr.h> #include <skalibs/tai.h> #include <skalibs/genalloc.h> #include <skalibs/djbunix.h> @@ -17,7 +16,7 @@ int s6_fdholder_getdump (s6_fdholder_t *a, genalloc *g, tain_t const *deadline, { unixmessage_t m = { .s = "?", .len = 1, .fds = 0, .nfds = 0 } ; uint32_t ntot, n ; - unsigned int oldlen = genalloc_len(s6_fdholder_fd_t, g) ; + size_t oldlen = genalloc_len(s6_fdholder_fd_t, g) ; unsigned int i = 0 ; int ok ; if (!unixmessage_put(&a->connection.out, &m)) return 0 ; @@ -48,8 +47,8 @@ int s6_fdholder_getdump (s6_fdholder_t *a, genalloc *g, tain_t const *deadline, m.s += TAIN_PACK ; m.len -= TAIN_PACK + 1 ; thislen = *m.s++ ; if (thislen > m.len - 1 || m.s[thislen]) goto droperr ; - byte_copy(tab[j].id, thislen, m.s) ; - byte_zero(tab[j].id + thislen, S6_FDHOLDER_ID_SIZE + 1 - thislen) ; + memcpy(tab[j].id, m.s, thislen) ; + memset(tab[j].id + thislen, 0, S6_FDHOLDER_ID_SIZE + 1 - thislen) ; m.s += (size_t)thislen + 1 ; m.len -= (size_t)thislen + 1 ; tab[j].fd = m.fds[j] ; } diff --git a/src/libs6/s6_fdholder_list.c b/src/libs6/s6_fdholder_list.c @@ -1,4 +1,4 @@ - /* ISC license. */ +/* ISC license. */ #include <errno.h> #include <skalibs/allreadwrite.h> diff --git a/src/libs6/s6_fdholder_list_async.c b/src/libs6/s6_fdholder_list_async.c @@ -1,6 +1,5 @@ - /* ISC license. */ +/* ISC license. */ -#include <errno.h> #include <skalibs/unixmessage.h> #include <s6/s6-fdholder.h> diff --git a/src/libs6/s6_fdholder_list_cb.c b/src/libs6/s6_fdholder_list_cb.c @@ -1,8 +1,8 @@ - /* ISC license. */ +/* ISC license. */ #include <stdint.h> #include <errno.h> -#include <skalibs/uint32.h> +#include <skalibs/types.h> #include <skalibs/bytestr.h> #include <skalibs/error.h> #include <skalibs/stralloc.h> @@ -12,7 +12,7 @@ int s6_fdholder_list_cb (unixmessage_t const *m, void *p) { uint32_t n ; - register s6_fdholder_list_result_t *res = p ; + s6_fdholder_list_result_t *res = p ; if (m->nfds) goto droperr ; if (!m->len) goto err ; if (m->s[0]) diff --git a/src/libs6/s6_fdholder_retrieve.c b/src/libs6/s6_fdholder_retrieve.c @@ -1,4 +1,4 @@ - /* ISC license. */ +/* ISC license. */ #include <errno.h> #include <skalibs/allreadwrite.h> diff --git a/src/libs6/s6_fdholder_retrieve_async.c b/src/libs6/s6_fdholder_retrieve_async.c @@ -1,18 +1,16 @@ - /* ISC license. */ +/* ISC license. */ -#include <sys/types.h> +#include <sys/uio.h> +#include <string.h> #include <errno.h> -#include <skalibs/bytestr.h> -#include <skalibs/tai.h> -#include <skalibs/siovec.h> #include <skalibs/unixmessage.h> #include <s6/s6-fdholder.h> int s6_fdholder_retrieve_maybe_delete_async (s6_fdholder_t *a, char const *id, int dodelete) { - size_t idlen = str_len(id) ; + size_t idlen = strlen(id) ; char pack[3] = "R" ; - siovec_t v[2] = { { .s = pack, .len = 3 }, { .s = (char *)id, .len = idlen + 1 } } ; + struct iovec v[2] = { { .iov_base = pack, .iov_len = 3 }, { .iov_base = (char *)id, .iov_len = idlen + 1 } } ; unixmessage_v_t m = { .v = v, .vlen = 2, .fds = 0, .nfds = 0 } ; if (idlen > S6_FDHOLDER_ID_SIZE) return (errno = ENAMETOOLONG, 0) ; pack[1] = !!dodelete ; diff --git a/src/libs6/s6_fdholder_retrieve_cb.c b/src/libs6/s6_fdholder_retrieve_cb.c @@ -1,4 +1,4 @@ - /* ISC license. */ +/* ISC license. */ #include <errno.h> #include <skalibs/error.h> @@ -7,7 +7,7 @@ int s6_fdholder_retrieve_cb (unixmessage_t const *m, void *p) { - register s6_fdholder_retrieve_result_t *res = p ; + s6_fdholder_retrieve_result_t *res = p ; if (m->len != 1) goto err ; if (m->s[0]) { diff --git a/src/libs6/s6_fdholder_setdump.c b/src/libs6/s6_fdholder_setdump.c @@ -1,14 +1,14 @@ - /* ISC license. */ +/* ISC license. */ -#include <sys/types.h> +#include <sys/uio.h> #include <stdint.h> +#include <string.h> #include <errno.h> -#include <skalibs/uint32.h> +#include <skalibs/types.h> #include <skalibs/allreadwrite.h> #include <skalibs/bytestr.h> #include <skalibs/error.h> #include <skalibs/tai.h> -#include <skalibs/siovec.h> #include <skalibs/unixmessage.h> #include <s6/s6-fdholder.h> @@ -40,20 +40,20 @@ int s6_fdholder_setdump (s6_fdholder_t *a, s6_fdholder_fd_t const *list, unsigne { unsigned int n = ntot > UNIXMESSAGE_MAXFDS ? UNIXMESSAGE_MAXFDS : ntot ; unsigned int j = 0 ; - siovec_t v[1 + (n<<1)] ; + struct iovec v[1 + (n<<1)] ; int fds[n] ; unixmessage_v_t m = { .v = v, .vlen = 1 + (n<<1), .fds = fds, .nfds = n } ; char pack[n * (TAIN_PACK+1)] ; - v[0].s = "." ; v[0].len = 1 ; + v[0].iov_base = "." ; v[0].iov_len = 1 ; for (; j < n ; j++, list++, ntot--) { - size_t len = str_len(list->id) ; - v[1 + (j<<1)].s = pack + j * (TAIN_PACK+1) ; - v[1 + (j<<1)].len = TAIN_PACK + 1 ; + size_t len = strlen(list->id) ; + v[1 + (j<<1)].iov_base = pack + j * (TAIN_PACK+1) ; + v[1 + (j<<1)].iov_len = TAIN_PACK + 1 ; tain_pack(pack + j * (TAIN_PACK+1), &list->limit) ; pack[j * (TAIN_PACK+1) + TAIN_PACK] = (unsigned char)len ; - v[2 + (j<<1)].s = (char *)list->id ; - v[2 + (j<<1)].len = len + 1 ; + v[2 + (j<<1)].iov_base = (char *)list->id ; + v[2 + (j<<1)].iov_len = len + 1 ; fds[j] = list->fd ; } if (!unixmessage_putv(&a->connection.out, &m)) return 0 ; diff --git a/src/libs6/s6_fdholder_store.c b/src/libs6/s6_fdholder_store.c @@ -1,4 +1,4 @@ - /* ISC license. */ +/* ISC license. */ #include <errno.h> #include <skalibs/allreadwrite.h> diff --git a/src/libs6/s6_fdholder_store_async.c b/src/libs6/s6_fdholder_store_async.c @@ -1,18 +1,17 @@ - /* ISC license. */ +/* ISC license. */ -#include <sys/types.h> +#include <sys/uio.h> +#include <string.h> #include <errno.h> -#include <skalibs/bytestr.h> #include <skalibs/tai.h> -#include <skalibs/siovec.h> #include <skalibs/unixmessage.h> #include <s6/s6-fdholder.h> int s6_fdholder_store_async (s6_fdholder_t *a, int fd, char const *id, tain_t const *limit) { - size_t idlen = str_len(id) ; + size_t idlen = strlen(id) ; char pack[2 + TAIN_PACK] = "S" ; - siovec_t v[2] = { { .s = pack, .len = 2 + TAIN_PACK }, { .s = (char *)id, .len = idlen + 1 } } ; + struct iovec v[2] = { { .iov_base = pack, .iov_len = 2 + TAIN_PACK }, { .iov_base = (char *)id, .iov_len = idlen + 1 } } ; unixmessage_v_t m = { .v = v, .vlen = 2, .fds = &fd, .nfds = 1 } ; if (idlen > S6_FDHOLDER_ID_SIZE) return (errno = ENAMETOOLONG, 0) ; tain_pack(pack + 1, limit) ; diff --git a/src/libs6/s6_supervise_lock.c b/src/libs6/s6_supervise_lock.c @@ -1,6 +1,5 @@ /* ISC license. */ -#include <sys/types.h> #include <sys/stat.h> #include <s6/s6-supervise.h> diff --git a/src/libs6/s6_supervise_lock_mode.c b/src/libs6/s6_supervise_lock_mode.c @@ -1,23 +1,22 @@ /* ISC license. */ -#include <sys/types.h> #include <sys/stat.h> +#include <string.h> #include <errno.h> -#include <skalibs/bytestr.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> #include <s6/s6-supervise.h> int s6_supervise_lock_mode (char const *subdir, unsigned int subdirmode, unsigned int controlmode) { - size_t subdirlen = str_len(subdir) ; + size_t subdirlen = strlen(subdir) ; int fdctl, fdctlw, fdlock ; char control[subdirlen + 9] ; char lock[subdirlen + 6] ; - byte_copy(control, subdirlen, subdir) ; - byte_copy(control + subdirlen, 9, "/control") ; - byte_copy(lock, subdirlen, subdir) ; - byte_copy(lock + subdirlen, 6, "/lock") ; + memcpy(control, subdir, subdirlen) ; + memcpy(control + subdirlen, "/control", 9) ; + memcpy(lock, subdir, subdirlen) ; + memcpy(lock + subdirlen, "/lock", 6) ; if ((mkdir(subdir, (mode_t)subdirmode) == -1) && (errno != EEXIST)) strerr_diefu2sys(111, "mkdir ", subdir) ; if (mkfifo(control, controlmode) < 0) diff --git a/src/libs6/s6_svc_ok.c b/src/libs6/s6_svc_ok.c @@ -1,20 +1,19 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <errno.h> -#include <skalibs/bytestr.h> #include <skalibs/djbunix.h> #include <s6/s6-supervise.h> int s6_svc_ok (char const *dir) { - size_t dirlen = str_len(dir) ; + size_t dirlen = strlen(dir) ; int fd ; char fn[dirlen + 9 + sizeof(S6_SUPERVISE_CTLDIR)] ; - byte_copy(fn, dirlen, dir) ; + memcpy(fn, dir, dirlen) ; fn[dirlen] = '/' ; - byte_copy(fn + dirlen + 1, sizeof(S6_SUPERVISE_CTLDIR) - 1, S6_SUPERVISE_CTLDIR) ; - byte_copy(fn + dirlen + sizeof(S6_SUPERVISE_CTLDIR), 9, "/control") ; + memcpy(fn + dirlen + 1, S6_SUPERVISE_CTLDIR, sizeof(S6_SUPERVISE_CTLDIR) - 1) ; + memcpy(fn + dirlen + sizeof(S6_SUPERVISE_CTLDIR), "/control", 9) ; fd = open_write(fn) ; if (fd < 0) { diff --git a/src/libs6/s6_svc_write.c b/src/libs6/s6_svc_write.c @@ -13,7 +13,7 @@ int s6_svc_write (char const *fifo, char const *data, size_t datalen) else if (ndelay_off(fd) == -1) return -1 ; else if (fd_write(fd, data, datalen) == -1) { - register int e = errno ; + int e = errno ; fd_close(fd) ; errno = e ; return -1 ; diff --git a/src/libs6/s6_svc_writectl.c b/src/libs6/s6_svc_writectl.c @@ -1,17 +1,16 @@ /* ISC license. */ -#include <sys/types.h> -#include <skalibs/bytestr.h> +#include <string.h> #include <s6/s6-supervise.h> int s6_svc_writectl (char const *service, char const *subdir, char const *s, size_t len) { - size_t svlen = str_len(service) ; - size_t sublen = str_len(subdir) ; + size_t svlen = strlen(service) ; + size_t sublen = strlen(subdir) ; char fn[svlen + sublen + 10] ; - byte_copy(fn, svlen, service) ; + memcpy(fn, service, svlen) ; fn[svlen] = '/' ; - byte_copy(fn + svlen + 1, sublen, subdir) ; - byte_copy(fn + svlen + 1 + sublen, 9, "/control") ; + memcpy(fn + svlen + 1, subdir, sublen) ; + memcpy(fn + svlen + 1 + sublen, "/control", 9) ; return s6_svc_write(fn, s, len) ; } diff --git a/src/libs6/s6_svstatus_pack.c b/src/libs6/s6_svstatus_pack.c @@ -1,8 +1,8 @@ /* ISC license. */ #include <stdint.h> -#include <skalibs/uint16.h> #include <skalibs/uint64.h> +#include <skalibs/types.h> #include <skalibs/tai.h> #include <s6/s6-supervise.h> @@ -10,7 +10,7 @@ void s6_svstatus_pack (char *pack, s6_svstatus_t const *sv) { tain_pack(pack, &sv->stamp) ; tain_pack(pack + 12, &sv->readystamp) ; - uint64_pack_big(pack + 24, (uint64)sv->pid) ; + uint64_pack_big(pack + 24, (uint64_t)sv->pid) ; uint16_pack_big(pack + 32, (uint16_t)sv->wstat) ; pack[34] = sv->flagpaused | diff --git a/src/libs6/s6_svstatus_read.c b/src/libs6/s6_svstatus_read.c @@ -1,17 +1,16 @@ /* ISC license. */ -#include <sys/types.h> -#include <skalibs/bytestr.h> +#include <string.h> #include <skalibs/djbunix.h> #include <s6/s6-supervise.h> int s6_svstatus_read (char const *dir, s6_svstatus_t *status) { - size_t n = str_len(dir) ; + size_t n = strlen(dir) ; char pack[S6_SVSTATUS_SIZE] ; char tmp[n + 1 + sizeof(S6_SVSTATUS_FILENAME)] ; - byte_copy(tmp, n, dir) ; - byte_copy(tmp + n, 1 + sizeof(S6_SVSTATUS_FILENAME), "/" S6_SVSTATUS_FILENAME) ; + memcpy(tmp, dir, n) ; + memcpy(tmp + n, "/" S6_SVSTATUS_FILENAME, 1 + sizeof(S6_SVSTATUS_FILENAME)) ; if (openreadnclose(tmp, pack, S6_SVSTATUS_SIZE) < S6_SVSTATUS_SIZE) return 0 ; s6_svstatus_unpack(pack, status) ; return 1 ; diff --git a/src/libs6/s6_svstatus_unpack.c b/src/libs6/s6_svstatus_unpack.c @@ -1,21 +1,21 @@ /* ISC license. */ #include <stdint.h> -#include <skalibs/uint16.h> #include <skalibs/uint64.h> +#include <skalibs/types.h> #include <skalibs/tai.h> #include <s6/s6-supervise.h> void s6_svstatus_unpack (char const *pack, s6_svstatus_t *sv) { - uint64 pid ; + uint64_t pid ; uint16_t wstat ; tain_unpack(pack, &sv->stamp) ; tain_unpack(pack + 12, &sv->readystamp) ; uint64_unpack_big(pack + 24, &pid) ; - sv->pid = (pid_t)pid ; + sv->pid = pid ; uint16_unpack_big(pack + 32, &wstat) ; - sv->wstat = (int)wstat ; + sv->wstat = wstat ; sv->flagpaused = pack[34] & 1 ; sv->flagfinishing = !!(pack[34] & 2) ; sv->flagwant = !!(pack[34] & 4) ; diff --git a/src/libs6/s6_svstatus_write.c b/src/libs6/s6_svstatus_write.c @@ -1,17 +1,16 @@ /* ISC license. */ -#include <sys/types.h> -#include <skalibs/bytestr.h> +#include <string.h> #include <skalibs/djbunix.h> #include <s6/s6-supervise.h> int s6_svstatus_write (char const *dir, s6_svstatus_t const *status) { - size_t n = str_len(dir) ; + size_t n = strlen(dir) ; char pack[S6_SVSTATUS_SIZE] ; char tmp[n + 1 + sizeof(S6_SVSTATUS_FILENAME)] ; - byte_copy(tmp, n, dir) ; - byte_copy(tmp + n, 1 + sizeof(S6_SVSTATUS_FILENAME), "/" S6_SVSTATUS_FILENAME) ; + memcpy(tmp, dir, n) ; + memcpy(tmp + n, "/" S6_SVSTATUS_FILENAME, 1 + sizeof(S6_SVSTATUS_FILENAME)) ; s6_svstatus_pack(pack, status) ; return openwritenclose_suffix(tmp, pack, S6_SVSTATUS_SIZE, ".new") ; } diff --git a/src/libs6/s6lock_acquire.c b/src/libs6/s6lock_acquire.c @@ -1,12 +1,10 @@ /* ISC license. */ -#include <sys/types.h> +#include <sys/uio.h> +#include <string.h> #include <stdint.h> #include <errno.h> -#include <skalibs/uint16.h> -#include <skalibs/uint32.h> -#include <skalibs/bytestr.h> -#include <skalibs/siovec.h> +#include <skalibs/types.h> #include <skalibs/tai.h> #include <skalibs/gensetdyn.h> #include <skalibs/skaclient.h> @@ -14,13 +12,18 @@ int s6lock_acquire (s6lock_t *a, uint16_t *u, char const *path, uint32_t options, tain_t const *limit, tain_t const *deadline, tain_t *stamp) { - size_t pathlen = str_len(path) ; + size_t pathlen = strlen(path) ; char err ; char tmp[23] = "--<" ; - siovec_t v[2] = { { .s = tmp, .len = 23 }, { .s = (char *)path, .len = pathlen + 1 } } ; + struct iovec v[2] = { { .iov_base = tmp, .iov_len = 23 }, { .iov_base = (char *)path, .iov_len = pathlen + 1 } } ; unsigned int i ; if (pathlen > UINT32_MAX) return (errno = ENAMETOOLONG, 0) ; if (!gensetdyn_new(&a->data, &i)) return 0 ; + if (i > UINT16_MAX) + { + gensetdyn_delete(&a->data, i) ; + return (errno = EMFILE, 0) ; + } uint16_pack_big(tmp, (uint16_t)i) ; uint32_pack_big(tmp+3, options) ; tain_pack(tmp+7, limit) ; diff --git a/src/libs6/s6lock_release.c b/src/libs6/s6lock_release.c @@ -3,7 +3,7 @@ #include <stdint.h> #include <errno.h> #include <skalibs/error.h> -#include <skalibs/uint16.h> +#include <skalibs/types.h> #include <skalibs/tai.h> #include <skalibs/gensetdyn.h> #include <skalibs/skaclient.h> diff --git a/src/libs6/s6lock_update.c b/src/libs6/s6lock_update.c @@ -3,7 +3,7 @@ #include <stdint.h> #include <errno.h> #include <skalibs/error.h> -#include <skalibs/uint16.h> +#include <skalibs/types.h> #include <skalibs/genalloc.h> #include <skalibs/gensetdyn.h> #include <skalibs/unixmessage.h> diff --git a/src/libs6/s6lock_wait_and.c b/src/libs6/s6lock_wait_and.c @@ -14,7 +14,7 @@ int s6lock_wait_and (s6lock_t *a, uint16_t const *idlist, unsigned int n, tain_t { for (;;) { - register int r = s6lock_check(a, *idlist) ; + int r = s6lock_check(a, *idlist) ; if (r < 0) return r ; else if (r) break ; r = iopause_stamp(&x, 1, deadline, stamp) ; diff --git a/src/libs6/s6lock_wait_or.c b/src/libs6/s6lock_wait_or.c @@ -14,8 +14,8 @@ int s6lock_wait_or (s6lock_t *a, uint16_t const *idlist, unsigned int n, tain_t if (x.fd < 0) return -1 ; for (;;) { - register unsigned int i = 0 ; - register int r ; + unsigned int i = 0 ; + int r ; for (; i < n ; i++) { r = s6lock_check(a, idlist[i]) ; diff --git a/src/libs6/s6lockd.c b/src/libs6/s6lockd.c @@ -1,12 +1,10 @@ /* ISC license. */ -#include <sys/types.h> #include <stdint.h> #include <unistd.h> #include <errno.h> #include <signal.h> -#include <skalibs/uint16.h> -#include <skalibs/uint32.h> +#include <skalibs/types.h> #include <skalibs/allreadwrite.h> #include <skalibs/error.h> #include <skalibs/strerr2.h> @@ -39,7 +37,7 @@ static genalloc a = GENALLOC_ZERO ; /* array of s6lockio_t */ static void s6lockio_free (s6lockio_t *p) { - register int e = errno ; + int e = errno ; fd_close(p->p[1]) ; fd_close(p->p[0]) ; kill(p->pid, SIGTERM) ; @@ -49,7 +47,7 @@ static void s6lockio_free (s6lockio_t *p) static void cleanup (void) { - register size_t i = genalloc_len(s6lockio_t, &a) ; + size_t i = genalloc_len(s6lockio_t, &a) ; for (; i ; i--) s6lockio_free(genalloc_s(s6lockio_t, &a) + i - 1) ; genalloc_setlen(s6lockio_t, &a, 0) ; } @@ -79,7 +77,7 @@ static void answer (char c) static void remove (unsigned int i) { - register size_t n = genalloc_len(s6lockio_t, &a) - 1 ; + size_t n = genalloc_len(s6lockio_t, &a) - 1 ; s6lockio_free(genalloc_s(s6lockio_t, &a) + i) ; genalloc_s(s6lockio_t, &a)[i] = genalloc_s(s6lockio_t, &a)[n] ; genalloc_setlen(s6lockio_t, &a, n) ; @@ -117,7 +115,7 @@ static int parse_protocol (unixmessage_t const *m, void *context) { case '>' : /* release */ { - register size_t i = genalloc_len(s6lockio_t, &a) ; + size_t i = genalloc_len(s6lockio_t, &a) ; for (; i ; i--) if (genalloc_s(s6lockio_t, &a)[i-1].id == id) break ; if (i) { @@ -211,7 +209,7 @@ int main (int argc, char const *const *argv) for (;;) { - register size_t n = genalloc_len(s6lockio_t, &a) ; + size_t n = genalloc_len(s6lockio_t, &a) ; iopause_fd x[4 + n] ; unsigned int i = 0 ; int r ; @@ -224,7 +222,7 @@ int main (int argc, char const *const *argv) x[3].fd = sfd ; x[3].events = IOPAUSE_READ ; for (; i < n ; i++) { - register s6lockio_t_ref p = genalloc_s(s6lockio_t, &a) + i ; + s6lockio_t *p = genalloc_s(s6lockio_t, &a) + i ; x[4+i].fd = p->p[0] ; x[4+i].events = IOPAUSE_READ ; if (p->limit.sec.x && tain_less(&p->limit, &deadline)) deadline = p->limit ; @@ -243,7 +241,7 @@ int main (int argc, char const *const *argv) { for (i = 0 ; i < n ; i++) { - register s6lockio_t_ref p = genalloc_s(s6lockio_t, &a) + i ; + s6lockio_t *p = genalloc_s(s6lockio_t, &a) + i ; if (p->limit.sec.x && !tain_future(&p->limit)) break ; } if (i < n) @@ -274,12 +272,12 @@ int main (int argc, char const *const *argv) /* scan children for successes */ for (i = 0 ; i < genalloc_len(s6lockio_t, &a) ; i++) { - register s6lockio_t *p = genalloc_s(s6lockio_t, &a) + i ; + s6lockio_t *p = genalloc_s(s6lockio_t, &a) + i ; if (p->p[0] < 0) continue ; if (x[p->xindex].revents & IOPAUSE_READ) { char c ; - register ssize_t r = sanitize_read(fd_read(p->p[0], &c, 1)) ; + ssize_t r = sanitize_read(fd_read(p->p[0], &c, 1)) ; if (!r) continue ; if (r < 0) { diff --git a/src/pipe-tools/s6-ftrig-listen.c b/src/pipe-tools/s6-ftrig-listen.c @@ -1,12 +1,11 @@ /* ISC license. */ -#include <sys/types.h> #include <stdint.h> #include <errno.h> #include <signal.h> #include <unistd.h> #include <skalibs/sgetopt.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/tai.h> #include <skalibs/iopause.h> @@ -43,7 +42,7 @@ int main (int argc, char const **argv, char const *const *envp) unsigned int t = 0 ; for (;;) { - register int opt = subgetopt(argc, argv, "aot:") ; + int opt = subgetopt(argc, argv, "aot:") ; if (opt == -1) break ; switch (opt) { @@ -85,7 +84,7 @@ int main (int argc, char const **argv, char const *const *envp) for (;;) { - register int r ; + int r ; i = 0 ; while (i < idlen) { diff --git a/src/pipe-tools/s6-ftrig-listen1.c b/src/pipe-tools/s6-ftrig-listen1.c @@ -1,12 +1,11 @@ /* ISC license. */ -#include <sys/types.h> #include <stdint.h> #include <errno.h> #include <signal.h> #include <unistd.h> #include <skalibs/sgetopt.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/tai.h> #include <skalibs/iopause.h> @@ -40,7 +39,7 @@ int main (int argc, char const *const *argv, char const *const *envp) unsigned int t = 0 ; for (;;) { - register int opt = subgetopt(argc, argv, "t:") ; + int opt = subgetopt(argc, argv, "t:") ; if (opt == -1) break ; switch (opt) { @@ -73,7 +72,7 @@ int main (int argc, char const *const *argv, char const *const *envp) for (;;) { char dummy ; - register int r = ftrigr_check(&a, id, &dummy) ; + int r = ftrigr_check(&a, id, &dummy) ; if (r < 0) strerr_diefu1sys(111, "ftrigr_check") ; if (r) break ; r = iopause_g(x, 2, &deadline) ; diff --git a/src/pipe-tools/s6-ftrig-wait.c b/src/pipe-tools/s6-ftrig-wait.c @@ -4,7 +4,7 @@ #include <errno.h> #include <skalibs/allreadwrite.h> #include <skalibs/sgetopt.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/tai.h> #include <s6/ftrigr.h> @@ -22,7 +22,7 @@ int main (int argc, char const *const *argv) unsigned int t = 0 ; for (;;) { - register int opt = subgetopt(argc, argv, "t:") ; + int opt = subgetopt(argc, argv, "t:") ; if (opt == -1) break ; switch (opt) { diff --git a/src/pipe-tools/s6-mkfifodir.c b/src/pipe-tools/s6-mkfifodir.c @@ -2,7 +2,7 @@ #include <sys/types.h> #include <skalibs/sgetopt.h> -#include <skalibs/gidstuff.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <s6/ftrigw.h> @@ -16,7 +16,7 @@ int main (int argc, char const *const *argv) PROG = "s6-mkfifodir" ; for (;;) { - register int opt = subgetopt_r(argc, argv, "fg:", &l) ; + int opt = subgetopt_r(argc, argv, "fg:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/supervision/s6-supervise.c b/src/supervision/s6-supervise.c @@ -3,16 +3,16 @@ /* For SIGWINCH */ #include <skalibs/nonposix.h> -#include <sys/types.h> #include <sys/wait.h> #include <unistd.h> +#include <string.h> #include <strings.h> #include <errno.h> #include <fcntl.h> #include <signal.h> #include <skalibs/allreadwrite.h> #include <skalibs/bytestr.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/tai.h> #include <skalibs/iopause.h> @@ -73,7 +73,7 @@ static inline void announce (void) static int read_uint (char const *file, unsigned int *fd) { char buf[UINT_FMT + 1] ; - register ssize_t r = openreadnclose_nb(file, buf, UINT_FMT) ; + ssize_t r = openreadnclose_nb(file, buf, UINT_FMT) ; if (r < 0) { if (errno != ENOENT) strerr_warnwu2sys("open ", file) ; @@ -491,11 +491,11 @@ static action_t_ref const actions[5][25] = static inline void handle_notifyfd (void) { char buf[4096] ; - register ssize_t r = 1 ; + ssize_t r = 1 ; while (r > 0) { r = sanitize_read(fd_read(notifyfd, buf, 4096)) ; - if (r > 0 && byte_chr(buf, r, '\n') < r) + if (r > 0 && memchr(buf, r, '\n')) { tain_copynow(&status.readystamp) ; status.flagready = 1 ; @@ -553,12 +553,12 @@ static inline void handle_control (int fd) for (;;) { char c ; - register ssize_t r = sanitize_read(fd_read(fd, &c, 1)) ; + ssize_t r = sanitize_read(fd_read(fd, &c, 1)) ; if (r < 0) strerr_diefu1sys(111, "read " S6_SUPERVISE_CTLDIR "/control") ; else if (!r) break ; else { - register size_t pos = byte_chr("abqhkti12fFpcyoduxOX", 20, c) ; + size_t pos = byte_chr("abqhkti12fFpcyoduxOX", 20, c) ; if (pos < 20) (*actions[state][V_a + pos])() ; } } @@ -571,12 +571,12 @@ int main (int argc, char const *const *argv) if (argc < 2) strerr_dieusage(100, USAGE) ; if (chdir(argv[1]) < 0) strerr_diefu2sys(111, "chdir to ", argv[1]) ; { - size_t proglen = str_len(PROG) ; - size_t namelen = str_len(argv[1]) ; + size_t proglen = strlen(PROG) ; + size_t namelen = strlen(argv[1]) ; char progname[proglen + namelen + 2] ; - byte_copy(progname, proglen, PROG) ; + memcpy(progname, PROG, proglen) ; progname[proglen] = ' ' ; - byte_copy(progname + proglen + 1, namelen + 1, argv[1]) ; + memcpy(progname + proglen + 1, argv[1], namelen + 1) ; PROG = progname ; if (!fd_sanitize()) strerr_diefu1sys(111, "sanitize stdin and stdout") ; x[1].fd = s6_supervise_lock(S6_SUPERVISE_CTLDIR) ; @@ -611,7 +611,7 @@ int main (int argc, char const *const *argv) while (cont) { - register int r ; + int r ; x[2].fd = notifyfd ; r = iopause_g(x, 2 + (notifyfd >= 0), &deadline) ; if (r < 0) strerr_diefu1sys(111, "iopause") ; diff --git a/src/supervision/s6-svc.c b/src/supervision/s6-svc.c @@ -1,10 +1,9 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <unistd.h> #include <errno.h> -#include <skalibs/uint.h> -#include <skalibs/bytestr.h> +#include <skalibs/types.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -27,7 +26,7 @@ int main (int argc, char const *const *argv, char const *const *envp) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "abqhkti12pcoduxOXyT:w:", &l) ; + int opt = subgetopt_r(argc, argv, "abqhkti12pcoduxOXyT:w:", &l) ; if (opt == -1) break ; switch (opt) { @@ -57,7 +56,7 @@ int main (int argc, char const *const *argv, char const *const *envp) case 'T' : if (!uint0_scan(l.arg, &timeout)) dieusage() ; break ; case 'w' : { - if (byte_chr("dDuUrR", 6, l.arg[0]) >= 6) dieusage() ; + if (!memchr("dDuUrR", 6, l.arg[0])) dieusage() ; updown[1] = l.arg[0] ; break ; } @@ -72,10 +71,10 @@ int main (int argc, char const *const *argv, char const *const *envp) if (datalen <= 1) return 0 ; if (updown[1] == 'U' || updown[1] == 'R') { - size_t arglen = str_len(argv[0]) ; + size_t arglen = strlen(argv[0]) ; char fn[arglen + 17] ; - byte_copy(fn, arglen, argv[0]) ; - byte_copy(fn + arglen, 17, "/notification-fd") ; + memcpy(fn, argv[0], arglen) ; + memcpy(fn + arglen, "/notification-fd", 17) ; if (access(fn, F_OK) < 0) { if (errno != ENOENT) strerr_diefu2sys(111, "access ", fn) ; @@ -109,7 +108,7 @@ int main (int argc, char const *const *argv, char const *const *envp) } else { - register int r = s6_svc_writectl(argv[0], S6_SUPERVISE_CTLDIR, data + 1, datalen - 1) ; + int r = s6_svc_writectl(argv[0], S6_SUPERVISE_CTLDIR, data + 1, datalen - 1) ; if (r < 0) strerr_diefu2sys(111, "control ", argv[0]) ; else if (!r) strerr_diefu3x(100, "control ", argv[0], ": supervisor not listening") ; } diff --git a/src/supervision/s6-svlisten.c b/src/supervision/s6-svlisten.c @@ -1,9 +1,8 @@ /* ISC license. */ -#include <sys/types.h> #include <stdint.h> #include <skalibs/sgetopt.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/bitarray.h> #include <skalibs/tai.h> #include <skalibs/strerr2.h> @@ -27,7 +26,7 @@ int main (int argc, char const **argv, char const *const *envp) unsigned int t = 0 ; for (;;) { - register int opt = subgetopt_r(argc, argv, "uUdDrRaot:", &l) ; + int opt = subgetopt_r(argc, argv, "uUdDrRaot:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/supervision/s6-svlisten1.c b/src/supervision/s6-svlisten1.c @@ -1,9 +1,8 @@ /* ISC license. */ -#include <sys/types.h> #include <stdint.h> #include <skalibs/sgetopt.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/tai.h> #include <skalibs/strerr2.h> #include <skalibs/djbunix.h> @@ -27,7 +26,7 @@ int main (int argc, char const *const *argv, char const *const *envp) unsigned int t = 0 ; for (;;) { - register int opt = subgetopt_r(argc, argv, "uUdDrRt:", &l) ; + int opt = subgetopt_r(argc, argv, "uUdDrRt:", &l) ; if (opt == -1) break ; switch (opt) { @@ -53,7 +52,7 @@ int main (int argc, char const *const *argv, char const *const *envp) if (!pid) strerr_diefu2sys(111, "spawn ", argv[1]) ; if (wantrestart) { - register int r = s6_svlisten_loop(&foo, 0, 1, 1, &deadline, spfd, &s6_svlisten_signal_handler) ; + int r = s6_svlisten_loop(&foo, 0, 1, 1, &deadline, spfd, &s6_svlisten_signal_handler) ; if (r) return r ; wantup = 1 ; } diff --git a/src/supervision/s6-svscan.c b/src/supervision/s6-svscan.c @@ -1,15 +1,14 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <sys/stat.h> #include <sys/wait.h> #include <unistd.h> #include <errno.h> #include <signal.h> #include <skalibs/allreadwrite.h> -#include <skalibs/bytestr.h> #include <skalibs/sgetopt.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/strerr2.h> #include <skalibs/tai.h> #include <skalibs/iopause.h> @@ -74,7 +73,7 @@ static void panic (char const *errmsg) static void killthem (void) { - register unsigned int i = 0 ; + unsigned int i = 0 ; if (!wantkill) return ; for (; i < n ; i++) { @@ -140,7 +139,7 @@ static void handle_diverted_signals (void) { for (;;) { - register int sig = selfpipe_read() ; + int sig = selfpipe_read() ; switch (sig) { case -1 : panic("selfpipe_read") ; @@ -151,11 +150,11 @@ static void handle_diverted_signals (void) default : { char const *name = sig_name(sig) ; - size_t len = str_len(name) ; + size_t len = strlen(name) ; char fn[SIGNAL_PROG_LEN + len + 1] ; char const *const newargv[2] = { fn, 0 } ; - byte_copy(fn, SIGNAL_PROG_LEN, SIGNAL_PROG) ; - byte_copy(fn + SIGNAL_PROG_LEN, len + 1, name) ; + memcpy(fn, SIGNAL_PROG, SIGNAL_PROG_LEN) ; + memcpy(fn + SIGNAL_PROG_LEN, name, len + 1) ; if (!child_spawn0(newargv[0], newargv, (char const **)environ)) strerr_warnwu2sys("spawn ", newargv[0]) ; } @@ -213,14 +212,14 @@ static void reap (void) for (;;) { int wstat ; - int r = wait_nohang(&wstat) ; + pid_t r = wait_nohang(&wstat) ; if (r < 0) if (errno != ECHILD) panic("wait_nohang") ; else break ; else if (!r) break ; else { - register unsigned int i = 0 ; + unsigned int i = 0 ; for (; i < n ; i++) { if (services[i].pid[0] == r) @@ -324,7 +323,7 @@ static void check (char const *name) return ; } if (!S_ISDIR(st.st_mode)) return ; - namelen = str_len(name) ; + namelen = strlen(name) ; for (; i < n ; i++) if ((services[i].ino == st.st_ino) && (services[i].dev == st.st_dev)) break ; if (i < n) { @@ -346,8 +345,8 @@ static void check (char const *name) { struct stat su ; char tmp[namelen + 5] ; - byte_copy(tmp, namelen, name) ; - byte_copy(tmp + namelen, 5, "/log") ; + memcpy(tmp, name, namelen) ; + memcpy(tmp + namelen, "/log", 5) ; if (stat(tmp, &su) < 0) if (errno == ENOENT) services[i].flaglog = 0 ; else @@ -385,8 +384,8 @@ static void check (char const *name) if (!tain_future(&services[i].restartafter[1])) { char tmp[namelen + 5] ; - byte_copy(tmp, namelen, name) ; - byte_copy(tmp + namelen, 5, "/log") ; + memcpy(tmp, name, namelen) ; + memcpy(tmp + namelen, "/log", 5) ; trystart(i, tmp, 1) ; } else if (tain_less(&services[i].restartafter[1], &deadline)) @@ -456,7 +455,7 @@ int main (int argc, char const *const *argv) unsigned int t = 0 ; for (;;) { - register int opt = subgetopt_r(argc, argv, "Sst:c:", &l) ; + int opt = subgetopt_r(argc, argv, "Sst:c:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/supervision/s6-svscanctl.c b/src/supervision/s6-svscanctl.c @@ -1,6 +1,5 @@ /* ISC license. */ -#include <skalibs/bytestr.h> #include <skalibs/sgetopt.h> #include <skalibs/strerr2.h> #include <s6/s6-supervise.h> @@ -20,7 +19,7 @@ int main (int argc, char const *const *argv) subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "phratszbnNiq0678", &l) ; + int opt = subgetopt_r(argc, argv, "phratszbnNiq0678", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/supervision/s6-svstat.c b/src/supervision/s6-svstat.c @@ -1,12 +1,11 @@ /* ISC license. */ -#include <sys/types.h> #include <sys/wait.h> +#include <string.h> #include <unistd.h> #include <errno.h> #include <skalibs/uint64.h> -#include <skalibs/uint.h> -#include <skalibs/bytestr.h> +#include <skalibs/types.h> #include <skalibs/buffer.h> #include <skalibs/strerr2.h> #include <skalibs/sgetopt.h> @@ -23,13 +22,13 @@ int main (int argc, char const *const *argv) s6_svstatus_t status ; int flagnum = 0 ; int isup, normallyup ; - char fmt[UINT_FMT] ; + char fmt[UINT64_FMT] ; PROG = "s6-svstat" ; { subgetopt_t l = SUBGETOPT_ZERO ; for (;;) { - register int opt = subgetopt_r(argc, argv, "n", &l) ; + int opt = subgetopt_r(argc, argv, "n", &l) ; if (opt == -1) break ; switch (opt) { @@ -51,10 +50,10 @@ int main (int argc, char const *const *argv) if (tain_future(&status.stamp)) tain_copynow(&status.stamp) ; { - size_t dirlen = str_len(*argv) ; + size_t dirlen = strlen(*argv) ; char fn[dirlen + 6] ; - byte_copy(fn, dirlen, *argv) ; - byte_copy(fn + dirlen, 6, "/down") ; + memcpy(fn, *argv, dirlen) ; + memcpy(fn + dirlen, "/down", 6) ; if (access(fn, F_OK) < 0) if (errno != ENOENT) strerr_diefu2sys(111, "access ", fn) ; else normallyup = 1 ; @@ -65,7 +64,7 @@ int main (int argc, char const *const *argv) if (isup) { buffer_putnoflush(buffer_1small,"up (pid ", 8) ; - buffer_putnoflush(buffer_1small, fmt, uint_fmt(fmt, status.pid)) ; + buffer_putnoflush(buffer_1small, fmt, pid_fmt(fmt, status.pid)) ; buffer_putnoflush(buffer_1small, ") ", 2) ; } else diff --git a/src/supervision/s6-svwait.c b/src/supervision/s6-svwait.c @@ -2,7 +2,7 @@ #include <stdint.h> #include <skalibs/sgetopt.h> -#include <skalibs/uint.h> +#include <skalibs/types.h> #include <skalibs/bitarray.h> #include <skalibs/tai.h> #include <skalibs/strerr2.h> @@ -22,7 +22,7 @@ int main (int argc, char const *const *argv) unsigned int t = 0 ; for (;;) { - register int opt = subgetopt_r(argc, argv, "UudDaot:", &l) ; + int opt = subgetopt_r(argc, argv, "UudDaot:", &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/supervision/s6_svlisten_loop.c b/src/supervision/s6_svlisten_loop.c @@ -1,11 +1,11 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <stdint.h> #include <unistd.h> #include <errno.h> +#include <skalibs/types.h> #include <skalibs/bytestr.h> -#include <skalibs/uint16.h> #include <skalibs/bitarray.h> #include <skalibs/tai.h> #include <skalibs/strerr2.h> @@ -17,7 +17,7 @@ void s6_svlisten_init (int argc, char const *const *argv, s6_svlisten_t *foo, uint16_t *ids, unsigned char *upstate, unsigned char *readystate, tain_t const *deadline) { - register unsigned int i = 0 ; + unsigned int i = 0 ; foo->n = (unsigned int)argc ; foo->ids = ids ; foo->upstate = upstate ; @@ -26,11 +26,11 @@ void s6_svlisten_init (int argc, char const *const *argv, s6_svlisten_t *foo, ui for (; i < foo->n ; i++) { s6_svstatus_t status = S6_SVSTATUS_ZERO ; - size_t len = str_len(argv[i]) ; + size_t len = strlen(argv[i]) ; char s[len + 1 + sizeof(S6_SUPERVISE_EVENTDIR)] ; - byte_copy(s, len, argv[i]) ; + memcpy(s, argv[i], len) ; s[len] = '/' ; - byte_copy(s + len + 1, sizeof(S6_SUPERVISE_EVENTDIR), S6_SUPERVISE_EVENTDIR) ; + memcpy(s + len + 1, S6_SUPERVISE_EVENTDIR, sizeof(S6_SUPERVISE_EVENTDIR)) ; foo->ids[i] = ftrigr_subscribe_g(&foo->a, s, "[DuUd]", FTRIGR_REPEAT, deadline) ; if (!foo->ids[i]) strerr_diefu2sys(111, "subscribe to events for ", argv[i]) ; if (!s6_svstatus_read(argv[i], &status)) strerr_diefu1sys(111, "s6_svstatus_read") ; @@ -41,9 +41,9 @@ void s6_svlisten_init (int argc, char const *const *argv, s6_svlisten_t *foo, ui static inline int got (s6_svlisten_t const *foo, int wantup, int wantready, int or) { - register unsigned int m = bitarray_div8(foo->n) ; + unsigned int m = bitarray_div8(foo->n) ; unsigned char t[m] ; - byte_copy(t, m, foo->upstate) ; + memcpy(t, foo->upstate, m) ; if (!wantup) bitarray_not(t, 0, foo->n) ; if (wantready) bitarray_and(t, t, foo->readystate, foo->n) ; return (bitarray_first(t, foo->n, or) < foo->n) == or ; @@ -54,22 +54,22 @@ int s6_svlisten_loop (s6_svlisten_t *foo, int wantup, int wantready, int or, tai iopause_fd x[2] = { { .fd = ftrigr_fd(&foo->a), .events = IOPAUSE_READ }, { .fd = spfd, .events = IOPAUSE_READ, .revents = 0 } } ; while (!got(foo, wantup, wantready, or)) { - register int r = iopause_g(x, 1 + (spfd >= 0), deadline) ; + int r = iopause_g(x, 1 + (spfd >= 0), deadline) ; if (r < 0) strerr_diefu1sys(111, "iopause") ; else if (!r) strerr_dief1x(1, "timed out") ; if (x[1].revents & IOPAUSE_READ) (*handler)() ; if (x[0].revents & IOPAUSE_READ) { - register unsigned int i = 0 ; + unsigned int i = 0 ; if (ftrigr_update(&foo->a) < 0) strerr_diefu1sys(111, "ftrigr_update") ; for (; i < foo->n ; i++) { char what ; - register int r = ftrigr_check(&foo->a, foo->ids[i], &what) ; + int r = ftrigr_check(&foo->a, foo->ids[i], &what) ; if (r < 0) strerr_diefu1sys(111, "ftrigr_check") ; if (r) { - register unsigned int d = byte_chr("dDuU", 4, what) ; + unsigned int d = byte_chr("dDuU", 4, what) ; bitarray_poke(foo->upstate, i, d & 2) ; bitarray_poke(foo->readystate, i, d & 1) ; } diff --git a/src/supervision/s6_svlisten_signal_handler.c b/src/supervision/s6_svlisten_signal_handler.c @@ -9,7 +9,7 @@ int s6_svlisten_selfpipe_init (void) { - register int spfd = selfpipe_init() ; + int spfd = selfpipe_init() ; if (spfd < 0) strerr_diefu1sys(111, "selfpipe_init") ; if (selfpipe_trap(SIGCHLD) < 0) strerr_diefu1sys(111, "selfpipe_trap") ; if (sig_ignore(SIGPIPE) < 0) strerr_diefu1sys(111, "ignore SIGPIPE") ;