summaryrefslogtreecommitdiffstats
path: root/main/busybox
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-02-03 07:35:41 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-02-03 07:38:20 +0000
commit016ca1f46d5601f3481527ab65d5adaaf0387e73 (patch)
treefe14af371d3e955b4e448df24e5976391d0d1390 /main/busybox
parent3dd43b93d08b592163c43bd3a238dd2e680e6e6e (diff)
downloadaports-016ca1f46d5601f3481527ab65d5adaaf0387e73.tar.bz2
aports-016ca1f46d5601f3481527ab65d5adaaf0387e73.tar.xz
main/busybox: upgrade to 1.23.1
Diffstat (limited to 'main/busybox')
-rw-r--r--main/busybox/0001-modprobe-fix-modprobe-r-and-parsing-of-etc-modprobe..patch33
-rw-r--r--main/busybox/APKBUILD27
-rw-r--r--main/busybox/busybox-1.23.0-ash.patch34
-rw-r--r--main/busybox/busybox-1.23.0-modprobe.patch203
-rw-r--r--main/busybox/busybox-1.23.0-vi.patch49
5 files changed, 5 insertions, 341 deletions
diff --git a/main/busybox/0001-modprobe-fix-modprobe-r-and-parsing-of-etc-modprobe..patch b/main/busybox/0001-modprobe-fix-modprobe-r-and-parsing-of-etc-modprobe..patch
deleted file mode 100644
index 8a9bfd28f..000000000
--- a/main/busybox/0001-modprobe-fix-modprobe-r-and-parsing-of-etc-modprobe..patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From d8937cf61895636eb05e373c377b5b1904d51d44 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Fri, 16 Jan 2015 12:01:48 +0100
-Subject: [PATCH] modprobe: fix modprobe -r and parsing of /etc/modprobe.d
-
-This fixes a regression introduced with commit 78854520 (modprobe:
-revert checking for /, stop doing basename() on modprobe args,
-2015-01-01) that broke modprobe options stored in /etc/modprobe.conf and
-/etc/modprobe.d/*.conf.
-
-This also fixes modprobe -r
-
-Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
----
- modutils/modprobe.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modutils/modprobe.c b/modutils/modprobe.c
-index ce8b0b8..0e8aa9e 100644
---- a/modutils/modprobe.c
-+++ b/modutils/modprobe.c
-@@ -425,7 +425,7 @@ static int do_modprobe(struct module_entry *m)
-
- rc = 0;
- fn = llist_pop(&m->deps); /* we leak it */
-- m2 = get_or_add_modentry(fn);
-+ m2 = get_or_add_modentry(bb_get_last_path_component_nostrip(fn));
-
- if (option_mask32 & OPT_REMOVE) {
- /* modprobe -r */
---
-2.2.2
-
diff --git a/main/busybox/APKBUILD b/main/busybox/APKBUILD
index 7284d5644..6aa927cfa 100644
--- a/main/busybox/APKBUILD
+++ b/main/busybox/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=busybox
-pkgver=1.23.0
-pkgrel=4
+pkgver=1.23.1
+pkgrel=0
pkgdesc="Size optimized toolbox of many common UNIX utilities"
url=http://busybox.net
arch="all"
@@ -22,11 +22,6 @@ source="http://busybox.net/downloads/$pkgname-$pkgver.tar.bz2
loginutils-sha512.patch
udhcpc-discover-retries.patch
- busybox-1.23.0-ash.patch
- busybox-1.23.0-modprobe.patch
- busybox-1.23.0-vi.patch
- 0001-modprobe-fix-modprobe-r-and-parsing-of-etc-modprobe..patch
-
0001-ifupdown-pass-interface-device-name-for-ipv6-route-c.patch
0001-ifupdown-use-x-hostname-NAME-with-udhcpc.patch
@@ -117,7 +112,7 @@ static() {
"$subpkgdir"/bin/busybox.static
}
-md5sums="6dffeb16044c6022476c64744492106a busybox-1.23.0.tar.bz2
+md5sums="5c94d6301a964cd91619bd4d74605245 busybox-1.23.1.tar.bz2
8485cf1e389e891914cbb8771a6d9bbd bbsuid.c
d64b58a30892c558bdbab7f0d0997577 nologin.c
4c0f3b486eaa0674961b7ddcd0c60a9b busybox-1.11.1-bb.patch
@@ -125,10 +120,6 @@ b5375210f13fd6e1ca61a565e8fabd35 busybox-uname-is-not-gnu.patch
c5a8dbc8696db6da9c4624b0e11d8fba bb-app-location.patch
8c42c9ef0f0419c314c86bcaf7796106 loginutils-sha512.patch
91a7584a562a72ba886936558e576bbd udhcpc-discover-retries.patch
-31bbf1c3957a939a4508528055a300ec busybox-1.23.0-ash.patch
-345f21ccf074904aa591206fc056285d busybox-1.23.0-modprobe.patch
-539be43937fdb198c111b077b0771f3b busybox-1.23.0-vi.patch
-1252e8853d1f49041cd1bd3cae65c568 0001-modprobe-fix-modprobe-r-and-parsing-of-etc-modprobe..patch
04eeda8c49d4688e6dec02451f8b6aae 0001-ifupdown-pass-interface-device-name-for-ipv6-route-c.patch
e1c183cbe1ca18a0fa0d9597314076c9 0001-ifupdown-use-x-hostname-NAME-with-udhcpc.patch
239dbe5dae5d36bbf73548b2749a22b1 0001-linedit-deluser-use-POSIX-getpwent-instead-of-getpwe.patch
@@ -138,7 +129,7 @@ b56d306ccba574da78dff060b7330806 1001-fbsplash-support-console-switching.patch
4fe5f9e973674c7db3d07f295c363a7c 1002-fbsplash-support-image-and-bar-alignment-and-positio.patch
3cff842a3618c84465d7ef5425c8749b busyboxconfig
befaac2c59c380e36a452b3f1c1d4a3a glibc.patch"
-sha256sums="483ab594dd962ddbb332fd24e36ffdd6e36ac2182fbff055c56e1ca49fda09e4 busybox-1.23.0.tar.bz2
+sha256sums="300f1db0a7ca4ecee8f8d8027aba250b903372e8339b7d9123d37c1e900473bf busybox-1.23.1.tar.bz2
81957f1fe0c386120dad1c8174ccc1fcfeed98c14d229db7d164d4fb4c938b3d bbsuid.c
9bbf0bec82e6d6907474958f3be048c54657fbf49207810b7e4d4d6146f0069d nologin.c
327bb8049e2726351a5c8b6b2cef864f6ce58725d4453983f97092ea73656ccc busybox-1.11.1-bb.patch
@@ -146,10 +137,6 @@ a31ce8bcb8b81b20e80ffa407600a530d085806c6471f4e4249fcb3a491b79ef busybox-uname-
576366b4d50f1078da6c0364ef70415de92d97c93c64f4d790b11d7a34cdccd2 bb-app-location.patch
57674b20158c0b266ed028b0c65299f9cbcad7d33d19c9fcc403d3967daba493 loginutils-sha512.patch
90825a443339f1c8c249d05f7b025ce53e374d305f8e113d98d45146b105494d udhcpc-discover-retries.patch
-fed81c2c8d2cda7d710e2825c549a0fe42fcb58fd342866729c37e9789d5c9e5 busybox-1.23.0-ash.patch
-e59ce711b44bb0fdc7adb5bed648287ce4a3212ac1e4afd94bdf5bd6ae0fb590 busybox-1.23.0-modprobe.patch
-24595c896674c282c7ab264355d4a7dfb819e86d12cbdc2e7d101689027cffe1 busybox-1.23.0-vi.patch
-93e0548812ac9e8f3ee49fd7830ecbde26b69f6f509a71dbc322e18dd349afb8 0001-modprobe-fix-modprobe-r-and-parsing-of-etc-modprobe..patch
2e9d56335ca39e944b9abd9ecc91d0e47a3fe3434f8b7ec3f526bc8fa0895ada 0001-ifupdown-pass-interface-device-name-for-ipv6-route-c.patch
53563c6dc4db13004d0b37f7bf1748e861b5a5c4244c1d34f102c23b689420c5 0001-ifupdown-use-x-hostname-NAME-with-udhcpc.patch
ac2cd5fed91bfaec22ed1f2766396d0feb29b9b96f20b2c12d5d8ac8769afae9 0001-linedit-deluser-use-POSIX-getpwent-instead-of-getpwe.patch
@@ -159,7 +146,7 @@ b8b0b16ed67b0159256193b1d2108b8ef9aa8a334ab81e463bb970c71257da9a 1001-fbsplash-
e1f3fad8e21dfd72cfcae7ab3ba31d7938e964e0f9ec08b2da0b14d462435424 1002-fbsplash-support-image-and-bar-alignment-and-positio.patch
342bb69c144a1e63d7a7fe4c24578ce5b483c09751ac16bb36d1b88929068141 busyboxconfig
c604ef791c31d35a8c5ee4558d21428a46f37a6d762c4a7e29864f4037fc44a0 glibc.patch"
-sha512sums="02c8f9dd9e47ad67b417fa58ba952bbdda6e79bad5399fba3d8217803053c2fd045228bd76d56e97d40c98296841dc66e4fa829887c05378a83bdeabafeb7f72 busybox-1.23.0.tar.bz2
+sha512sums="60849c220dde596c4197f16dd844573b24dd46c8544345a2d5a2b1976fa0ac340d22fbc97f5a1437b7de1c04f4e16aa07b3d62bc77eb83b2467582a50ed4b362 busybox-1.23.1.tar.bz2
16b3dd6a8b76b062d51458351fcb44f84b49eb4bf898584c933df90fb2cb3966f9547865a4d7447589bb20b7c203beb04ff7512f76f85d29138d2cff4eb9ee81 bbsuid.c
4e7c291a70e879b74c0fc07c54a73ef50537d8be68fee6b2d409425c07afd2d67f9b6afcd8c33a7971014913cc5de85e45079681c9e77200c6cc2f34acfba6d2 nologin.c
eb7cce973bfd53ce3350713437b9e2751becfb8dfb10b14f27c4f812297c403b90f80dc2906179d499e8dffbe6df8aa37ae27625c552162923d59fe35b55b32b busybox-1.11.1-bb.patch
@@ -167,10 +154,6 @@ eb7cce973bfd53ce3350713437b9e2751becfb8dfb10b14f27c4f812297c403b90f80dc2906179d4
5c42b05be69c834c9fd5372c6b0d55a6399c74146a94ea09eae7285dd4fa75d1bde38bf7ab73e98638f65eb72db02115453cbdfe85a0085d742940366f617c7d bb-app-location.patch
69af4800fcf765b4ae029daced7ff171b6b04d810c94a987c7ba848e275a27b77b18b38df1b85f4a12c4a47ed42f62e0768260eb1198e2aff1c3cea898b85c61 loginutils-sha512.patch
34415fe69f6b8d42756046aa8e6d9e4f64a3b0ceb9f57c4c988e35870fe975f05d0ac76f1f9a712196e9c59e67aa2a54abf398242009134fb3aca342c25a3646 udhcpc-discover-retries.patch
-e70fc7b37f18b14638f3526ae1730bb178c190d6bb6c931beadbc5ef3d883dee9b994624af62641ca75edc50cae0e1259f3d52ffcf0d3cb78ceac90000df8962 busybox-1.23.0-ash.patch
-13088f5d2e2b2da8155697d6e1787815a49bc1b353650fa596d99be966c836a967f774725d8258508239f041d5c6f74a55abe407f917a51b2f5b72d75b0c2e5a busybox-1.23.0-modprobe.patch
-b9099407a17ab29b30e9aa3cc30f1b0d05115cf14b49fcfb41167a6f2c77eafd7455f07e9b2ccaa5770cfa45e6458c3931d618c1330ed3ec4e8b613575db3d19 busybox-1.23.0-vi.patch
-ae82177d70618e19a533408f7e0ac8388e32cbc73fb737ff658a2d8f722819d8a8d3a34fdf5307fa613847164d1f65ea943167fa9ee982b70bcc644fadc9d86a 0001-modprobe-fix-modprobe-r-and-parsing-of-etc-modprobe..patch
f2ed7bf994766a20ceecb28bea8c66307b6b66cdd7099408b1f29a529786ce07e55824b21256321708663e00d6fe9428480b0d3e121b67d6ebd8a8a87b1486d1 0001-ifupdown-pass-interface-device-name-for-ipv6-route-c.patch
b1a1cc2ada657a3d3364c8c96853575d73784e769cd8768c170c27a3e59abd2beace75dff6d5047c4391725e961d93149f9c3f45ed75fb1c582bf18b818282c9 0001-ifupdown-use-x-hostname-NAME-with-udhcpc.patch
6781b10ca078296b243373d2c3f2bca2507a9df18a6b06d051e9ce84ed31a238aef3b2bb085daf12b145550be68c07c854272bd78a6f77da9197779b9c7cd9e9 0001-linedit-deluser-use-POSIX-getpwent-instead-of-getpwe.patch
diff --git a/main/busybox/busybox-1.23.0-ash.patch b/main/busybox/busybox-1.23.0-ash.patch
deleted file mode 100644
index fb494aa25..000000000
--- a/main/busybox/busybox-1.23.0-ash.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- busybox-1.23.0/shell/ash.c
-+++ busybox-1.23.0-ash/shell/ash.c
-@@ -6746,6 +6746,14 @@ varvalue(char *name, int varflags, int f
- len = strlen(p);
- if (!(subtype == VSPLUS || subtype == VSLENGTH))
- memtodest(p, len, syntax, quotes);
-+#if ENABLE_UNICODE_SUPPORT
-+ if (subtype == VSLENGTH && len > 0) {
-+ reinit_unicode_for_ash();
-+ if (unicode_status == UNICODE_ON) {
-+ len = unicode_strlen(p);
-+ }
-+ }
-+#endif
- return len;
- }
-
-@@ -6829,15 +6837,7 @@ evalvar(char *p, int flags, struct strli
- varunset(p, var, 0, 0);
-
- if (subtype == VSLENGTH) {
-- ssize_t n = varlen;
-- if (n > 0) {
-- reinit_unicode_for_ash();
-- if (unicode_status == UNICODE_ON) {
-- const char *val = lookupvar(var);
-- n = unicode_strlen(val);
-- }
-- }
-- cvtnum(n > 0 ? n : 0);
-+ cvtnum(varlen > 0 ? varlen : 0);
- goto record;
- }
-
diff --git a/main/busybox/busybox-1.23.0-modprobe.patch b/main/busybox/busybox-1.23.0-modprobe.patch
deleted file mode 100644
index 69fa8510b..000000000
--- a/main/busybox/busybox-1.23.0-modprobe.patch
+++ /dev/null
@@ -1,203 +0,0 @@
---- busybox-1.23.0/modutils/depmod.c
-+++ busybox-1.23.0-modprobe/modutils/depmod.c
-@@ -51,7 +51,11 @@ static int FAST_FUNC parse_module(const
-
- info->dnext = info->dprev = info;
- info->name = xstrdup(fname + 2); /* skip "./" */
-- info->modname = xstrdup(filename2modname(fname, modname));
-+ info->modname = xstrdup(
-+ filename2modname(
-+ bb_get_last_path_component_nostrip(fname),
-+ modname
-+ ));
- for (ptr = image; ptr < image + len - 10; ptr++) {
- if (strncmp(ptr, "depends=", 8) == 0) {
- char *u;
-@@ -242,17 +246,18 @@ int depmod_main(int argc UNUSED_PARAM, c
- if (!(option_mask32 & OPT_n))
- xfreopen_write("modules.alias", stdout);
- for (m = modules; m != NULL; m = m->next) {
-+ char modname[MODULE_NAME_LEN];
- const char *fname = bb_basename(m->name);
-- int fnlen = strchrnul(fname, '.') - fname;
-+ filename2modname(fname, modname);
- while (m->aliases) {
- /* Last word can well be m->modname instead,
- * but depmod from module-init-tools 3.4
- * uses module basename, i.e., no s/-/_/g.
- * (pathname and .ko.* are still stripped)
- * Mimicking that... */
-- printf("alias %s %.*s\n",
-+ printf("alias %s %s\n",
- (char*)llist_pop(&m->aliases),
-- fnlen, fname);
-+ modname);
- }
- }
- #endif
-@@ -260,12 +265,13 @@ int depmod_main(int argc UNUSED_PARAM, c
- if (!(option_mask32 & OPT_n))
- xfreopen_write("modules.symbols", stdout);
- for (m = modules; m != NULL; m = m->next) {
-+ char modname[MODULE_NAME_LEN];
- const char *fname = bb_basename(m->name);
-- int fnlen = strchrnul(fname, '.') - fname;
-+ filename2modname(fname, modname);
- while (m->symbols) {
-- printf("alias symbol:%s %.*s\n",
-+ printf("alias symbol:%s %s\n",
- (char*)llist_pop(&m->symbols),
-- fnlen, fname);
-+ modname);
- }
- }
- #endif
---- busybox-1.23.0/modutils/modprobe.c
-+++ busybox-1.23.0-modprobe/modutils/modprobe.c
-@@ -229,26 +229,20 @@ static ALWAYS_INLINE struct module_entry
- {
- return helper_get_module(module, 1);
- }
--static ALWAYS_INLINE struct module_entry *get_modentry(const char *module)
-+/* So far this function always gets a module pathname, never an alias name.
-+ * The crucial difference is that pathname needs dirname stripping,
-+ * while alias name must NOT do it!
-+ * Testcase where dirname stripping is likely to go wrong: "modprobe devname:snd/timer"
-+ */
-+static ALWAYS_INLINE struct module_entry *get_modentry(const char *pathname)
- {
-- return helper_get_module(module, 0);
-+ return helper_get_module(bb_get_last_path_component_nostrip(pathname), 0);
- }
-
- static void add_probe(const char *name)
- {
- struct module_entry *m;
-
-- /*
-- * get_or_add_modentry() strips path from name and works
-- * on remaining basename.
-- * This would make "rmmod dir/name" and "modprobe dir/name"
-- * to work like "rmmod name" and "modprobe name",
-- * which is wrong, and can be abused via implicit modprobing:
-- * "ifconfig /usbserial up" tries to modprobe netdev-/usbserial.
-- */
-- if (strchr(name, '/'))
-- bb_error_msg_and_die("malformed module name '%s'", name);
--
- m = get_or_add_modentry(name);
- if (!(option_mask32 & (OPT_REMOVE | OPT_SHOW_DEPS))
- && (m->flags & MODULE_FLAG_LOADED)
-@@ -510,7 +504,7 @@ static void load_modules_dep(void)
- colon = last_char_is(tokens[0], ':');
- if (colon == NULL)
- continue;
-- *colon = 0;
-+ *colon = '\0';
-
- m = get_modentry(tokens[0]);
- if (m == NULL)
-@@ -557,7 +551,6 @@ int modprobe_main(int argc UNUSED_PARAM,
-
- if (opt & OPT_LIST_ONLY) {
- int i;
-- char name[MODULE_NAME_LEN];
- char *colon, *tokens[2];
- parser_t *p = config_open2(CONFIG_DEFAULT_DEPMOD_FILE, xfopen_for_read);
-
-@@ -569,10 +562,14 @@ int modprobe_main(int argc UNUSED_PARAM,
- if (!colon)
- continue;
- *colon = '\0';
-- filename2modname(tokens[0], name);
- if (!argv[0])
- puts(tokens[0]);
- else {
-+ char name[MODULE_NAME_LEN];
-+ filename2modname(
-+ bb_get_last_path_component_nostrip(tokens[0]),
-+ name
-+ );
- for (i = 0; argv[i]; i++) {
- if (fnmatch(argv[i], name, 0) == 0) {
- puts(tokens[0]);
---- busybox-1.23.0/modutils/modprobe-small.c
-+++ busybox-1.23.0-modprobe/modutils/modprobe-small.c
-@@ -149,9 +149,13 @@ static void replace(char *s, char what,
- static char *filename2modname(const char *filename, char *modname)
- {
- int i;
-- char *from;
-+ const char *from;
-
-- from = bb_get_last_path_component_nostrip(filename);
-+ // Disabled since otherwise "modprobe dir/name" would work
-+ // as if it is "modprobe name". It is unclear why
-+ // 'basenamization' was here in the first place.
-+ //from = bb_get_last_path_component_nostrip(filename);
-+ from = filename;
- for (i = 0; i < (MODULE_NAME_LEN-1) && from[i] != '\0' && from[i] != '.'; i++)
- modname[i] = (from[i] == '-') ? '_' : from[i];
- modname[i] = '\0';
-@@ -631,6 +635,14 @@ static void process_module(char *name, c
- infovec = find_alias(name);
- }
-
-+ if (!infovec) {
-+ /* both dirscan and find_alias found nothing */
-+ if (!is_rmmod && applet_name[0] != 'd') /* it wasn't rmmod or depmod */
-+ bb_error_msg("module '%s' not found", name);
-+//TODO: _and_die()? or should we continue (un)loading modules listed on cmdline?
-+ goto ret;
-+ }
-+
- /* There can be more than one module for the given alias. For example,
- * "pci:v00008086d00007010sv00000000sd00000000bc01sc01i80" matches
- * ata_piix because it has alias "pci:v00008086d00007010sv*sd*bc*sc*i*"
-@@ -646,7 +658,8 @@ static void process_module(char *name, c
- int r;
- char modname[MODULE_NAME_LEN];
-
-- filename2modname(info->pathname, modname);
-+ filename2modname(
-+ bb_get_last_path_component_nostrip(info->pathname), modname);
- r = delete_module(modname, O_NONBLOCK | O_EXCL);
- dbg1_error_msg("delete_module('%s', O_NONBLOCK | O_EXCL):%d", modname, r);
- if (r != 0) {
-@@ -669,14 +682,6 @@ static void process_module(char *name, c
- */
- }
-
-- if (!infovec) {
-- /* both dirscan and find_alias found nothing */
-- if (!is_rmmod && applet_name[0] != 'd') /* it wasn't rmmod or depmod */
-- bb_error_msg("module '%s' not found", name);
--//TODO: _and_die()? or should we continue (un)loading modules listed on cmdline?
-- goto ret;
-- }
--
- infoidx = 0;
- while ((info = infovec[infoidx++]) != NULL) {
- /* Iterate thru dependencies, trying to (un)load them */
---- busybox-1.23.0/modutils/modutils.c
-+++ busybox-1.23.0-modprobe/modutils/modutils.c
-@@ -48,13 +48,17 @@ int FAST_FUNC string_to_llist(char *stri
- char* FAST_FUNC filename2modname(const char *filename, char *modname)
- {
- int i;
-- char *from;
-+ const char *from;
-
- if (filename == NULL)
- return NULL;
- if (modname == NULL)
- modname = xmalloc(MODULE_NAME_LEN);
-- from = bb_get_last_path_component_nostrip(filename);
-+ // Disabled since otherwise "modprobe dir/name" would work
-+ // as if it is "modprobe name". It is unclear why
-+ // 'basenamization' was here in the first place.
-+ //from = bb_get_last_path_component_nostrip(filename);
-+ from = filename;
- for (i = 0; i < (MODULE_NAME_LEN-1) && from[i] != '\0' && from[i] != '.'; i++)
- modname[i] = (from[i] == '-') ? '_' : from[i];
- modname[i] = '\0';
diff --git a/main/busybox/busybox-1.23.0-vi.patch b/main/busybox/busybox-1.23.0-vi.patch
deleted file mode 100644
index 3a07ab9d9..000000000
--- a/main/busybox/busybox-1.23.0-vi.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- busybox-1.23.0/editors/vi.c
-+++ busybox-1.23.0-vi/editors/vi.c
-@@ -542,9 +542,6 @@ static void cookmode(void); // return to
- static int mysleep(int);
- static int readit(void); // read (maybe cursor) key from stdin
- static int get_one_char(void); // read 1 char from stdin
--#if !ENABLE_FEATURE_VI_READONLY
--#define file_insert(fn, p, update_ro_status) file_insert(fn, p)
--#endif
- // file_insert might reallocate text[]!
- static int file_insert(const char *, char *, int);
- static int file_write(char *, char *, char *);
-@@ -1325,7 +1322,7 @@ static void colon(char *buf)
- q = next_line(q);
- { // dance around potentially-reallocated text[]
- uintptr_t ofs = q - text;
-- size = file_insert(fn, q, /*update_ro:*/ 0);
-+ size = file_insert(fn, q, 0);
- q = text + ofs;
- }
- if (size < 0)
-@@ -2905,7 +2902,7 @@ static char *get_input_line(const char *
- }
-
- // might reallocate text[]!
--static int file_insert(const char *fn, char *p, int update_ro_status)
-+static int file_insert(const char *fn, char *p, int initial)
- {
- int cnt = -1;
- int fd, size;
-@@ -2918,7 +2915,8 @@ static int file_insert(const char *fn, c
-
- fd = open(fn, O_RDONLY);
- if (fd < 0) {
-- status_line_bold_errno(fn);
-+ if (!initial)
-+ status_line_bold_errno(fn);
- return cnt;
- }
-
-@@ -2946,7 +2944,7 @@ static int file_insert(const char *fn, c
- close(fd);
-
- #if ENABLE_FEATURE_VI_READONLY
-- if (update_ro_status
-+ if (initial
- && ((access(fn, W_OK) < 0) ||
- /* root will always have access()
- * so we check fileperms too */