diff options
| author | Michael Forney <mforney@mforney.org> | 2016-12-11 16:04:20 -0800 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2016-12-13 23:10:30 -0800 |
| commit | 293f5a93b77d92fd65db7f3d0df654f102e46cfb (patch) | |
| tree | 6ecd1170e3dd793862dd852814dc1b4cd5e44260 /pkg/sbase/patch/0003-libutil-Add-writeall-utility-function.patch | |
| parent | 9a506a6834df01a26795cea222b410f206efa9fa (diff) | |
Move to flat package hierarchy
Note to self: never try to move submodules again
To migrate your existing submodules (more or less):
set -x
set -e
mkdir .git/modules/pkg
for old in */*/src ; do
new="pkg/${old#*/}"
if ! [ -f "$old/.git" ] || [ "${old%%/*}" = pkg ] ; then
continue
fi
git -C ".git/modules/$old" config core.worktree "../../../../../$new"
rmdir "$new"
mv "$old" "$new"
sed -e "s,$old,$new," "$new/.git" > "$new/.git.tmp"
mv "$new/.git.tmp" "$new/.git"
mkdir ".git/modules/${new%/src}"
mv ".git/modules/$old" ".git/modules/$new"
rm "${old%/src}"/*.ninja
mv "${old%/src}"/*.tar.{gz,xz,bz2} "${new%/src}/"
rmdir "${old%/src}" || true
done
sed -e 's,^\[submodule "[^/]*/,[submodule "pkg/,' .git/config > .git/config.tmp
mv .git/config.tmp .git/config
Diffstat (limited to 'pkg/sbase/patch/0003-libutil-Add-writeall-utility-function.patch')
| -rw-r--r-- | pkg/sbase/patch/0003-libutil-Add-writeall-utility-function.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/pkg/sbase/patch/0003-libutil-Add-writeall-utility-function.patch b/pkg/sbase/patch/0003-libutil-Add-writeall-utility-function.patch new file mode 100644 index 00000000..bb1d9f9d --- /dev/null +++ b/pkg/sbase/patch/0003-libutil-Add-writeall-utility-function.patch @@ -0,0 +1,73 @@ +From 21eed6939c15af59218f58a5ed858e56d62c3279 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Wed, 30 Nov 2016 00:03:40 -0800 +Subject: [PATCH] libutil: Add writeall utility function + +writeall makes successive write calls to write an entire buffer to the +output file descriptor. It returns the number of bytes written, or -1 on +the first error. +--- + Makefile | 3 ++- + libutil/writeall.c | 21 +++++++++++++++++++++ + util.h | 3 +++ + 3 files changed, 26 insertions(+), 1 deletion(-) + create mode 100644 libutil/writeall.c + +diff --git a/Makefile b/Makefile +index 25bab70..a337ead 100644 +--- a/Makefile ++++ b/Makefile +@@ -79,7 +79,8 @@ LIBUTILSRC =\ + libutil/strlcpy.c\ + libutil/strsep.c\ + libutil/strtonum.c\ +- libutil/unescape.c ++ libutil/unescape.c\ ++ libutil/writeall.c + + LIB = $(LIBUTF) $(LIBUTIL) + +diff --git a/libutil/writeall.c b/libutil/writeall.c +new file mode 100644 +index 0000000..4725ced +--- /dev/null ++++ b/libutil/writeall.c +@@ -0,0 +1,21 @@ ++/* See LICENSE file for copyright and license details. */ ++#include <unistd.h> ++ ++#include "../util.h" ++ ++ssize_t ++writeall(int fd, const void *buf, size_t len) ++{ ++ const char *p = buf; ++ ssize_t n; ++ ++ while (len) { ++ n = write(fd, p, len); ++ if (n <= 0) ++ return n; ++ p += n; ++ len -= n; ++ } ++ ++ return p - (const char *)buf; ++} +diff --git a/util.h b/util.h +index b5860dc..eaad3ce 100644 +--- a/util.h ++++ b/util.h +@@ -62,6 +62,9 @@ char *strsep(char **, const char *); + int enregcomp(int, regex_t *, const char *, int); + int eregcomp(regex_t *, const char *, int); + ++/* io */ ++ssize_t writeall(int, const void *, size_t); ++ + /* misc */ + void enmasse(int, char **, int (*)(const char *, const char *, int)); + void fnck(const char *, const char *, int (*)(const char *, const char *, int), int); +-- +2.11.0 + |
