this project up. If the old/slow
and new/fast code should be chosen with a compile-time config option then I'm
happy to do that as well.From 69312a6928c188ac8be3c714db3a53724b85dd09 Mon Sep 17 00:00:00 2001
From: Jody Bruchon
Date: Wed, 10 Apr 2024 18:08:00 -0400
Subject: [PATCH v2] Huge performance
.
I left the old code commented instead of taking it out because there is
a good chance the maintainers will want to see this "bloat" gated behind
a config option.
On 2024-04-11 1:47 AM, Rolf Eike Beer wrote:
On Mittwoch, 10. April 2024 21:36:06 CEST Jody Bruchon wrote:
This patc
-by: Jody Bruchon
From 638521733744e1292ba2701c638983a2124761b2 Mon Sep 17 00:00:00 2001
From: Jody Bruchon
Date: Wed, 10 Apr 2024 15:10:26 -0400
Subject: [PATCH] Huge performance boost for recursion (cp, du, find, ls, rm,
mv)
This patch uses pre-calculated name lengths to massively speed up
From 48532ee17f752a9bbf4dbf6cb1d7662004c41756 Mon Sep 17 00:00:00 2001
From: Jody Bruchon
Date: Wed, 31 Mar 2021 11:30:31 -0400
Subject: [PATCH] Style guide: add "Required_argument" example to
applet_longopts
Signed-off-by: Jody Bruchon
---
docs/style-guide.txt | 5 +++--
1 file
From 48532ee17f752a9bbf4dbf6cb1d7662004c41756 Mon Sep 17 00:00:00 2001
From: Jody Bruchon
Date: Wed, 31 Mar 2021 11:30:31 -0400
Subject: [PATCH] Style guide: add "Required_argument" example to
applet_longopts
Signed-off-by: Jody Bruchon
---
docs/style-guide.txt | 5 +++--
1 file
There is a Google custom search bar immediately below the text. Scroll down
more and enjoy!
On July 12, 2020 5:14:43 AM EDT, Baruch Burstein wrote:
>Hi,
>
>How do I search the lists? When I go to
>https://www.busybox.net/lists.html it
>just says to search the lists, but doesn't say how to do
Allowing erroneous pages to render is not inherently bad, especially with
standards that can change in the future. Look at earlier HTML (< 4) vs XHTML.
If a page is written in XHTML and is read by a browser that doesn't understand
XHTML, the browser still attempting to render it by ignoring any
This is what I love about coding. We'll play with optimizing some of the
simplest and least important things on a whim. May the winds of hackerdom ever
be in your favor.
On July 3, 2020 3:34:23 AM EDT, Bernd Petrovitsch
wrote:
>On Fri, 2020-07-03 at 08:12 +0200, Tito wrote:
>[...]
>> Improved
On July 2, 2020 3:26:29 PM EDT, Tito wrote:
>hi,
>just for fun I add my version:
>
>char* FAST_FUNC last_char_is(const char *s, int c) {
> while (s && *s && *(s + 1)) s++;
> return (c == *s) ? (char *)s : NULL;
>}
That's pretty small, but it performs three comparisons for each
From de10e585d933793cb309a03c88faac17cdedb370 Mon Sep 17 00:00:00 2001
From: Jody Bruchon
Date: Wed, 1 Jul 2020 18:03:32 -0400
Subject: [PATCH] libbb.h: change prototype for last_char_is() to match
new code
---
include/libbb.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
From 10389ff81b4ee5a7db293cf5d6205d8944e51901 Mon Sep 17 00:00:00 2001
From: Jody Bruchon
Date: Wed, 1 Jul 2020 17:55:04 -0400
Subject: [PATCH] libbb/last_char_is: rewrite for smaller and faster code
Signed-off-by: Jody Bruchon
---
libbb/last_char_is.c | 14 +-
1 file changed, 5
nal implementation to simplify reading:
char* FAST_FUNC last_char_is(const char *s, int c)
{
if (s) {
char *index = strrchr(s, c);
if (index && *(index + 1) == '\0')
return index;
}
return NULL;
}
On Tue, 30 Jun 2020 at 10:59, Jody Bruchon <mailto
strlen scans the string; strrchr also scans the string.
On 2020-07-01 10:23, Martin Lewis wrote:
Hi,
I'm not sure what I'm missing, from a quick glance at strrchr
(glibc's) it seems that it scans the string only once?
Thank you,
Martin
On Tue, 30 Jun 2020 at 01:34, Denys Vlasenko
Understood. Be well.
On June 4, 2020 9:45:39 PM EDT, Eli Schwartz wrote:
>On 6/4/20 9:01 PM, Jody Bruchon wrote:
>> If things hang for too long, I'd be willing to fork the project and
>> maintain it so it can keep on chugging. I'm not as good as Denys
>> though. Can't pr
If things hang for too long, I'd be willing to fork the project and maintain it
so it can keep on chugging. I'm not as good as Denys though. Can't promise my
mailing list replies will be bottom-posted though ;-)
On June 4, 2020 12:42:42 PM EDT, Xabier Oneca -- xOneca
wrote:
>> I'm new to
of program that very clearly
do not belong in BusyBox for philosophical and scope reasons, even if they
cannot technically be added without much effort. I don't see much else to
discuss on this subject. I applaud the effort, but I believe it is misguided.
- Jody Bruchon
--
Sent from my Android ph
, a thing to enjoy playing with but not to be taken too
seriously as a replacement program for its parent. Let them have their fun!
Let's all be excellent to each other. A rising tide lifts all boats.
- Jody Bruchon
On 11/16/2019 7:01 AM, Laurent Bercot wrote:
The busybox mailing-list has
What kind of filesystem is it on? Is that filesystem mounted noexec or
read-only? Is SELinux enabled? Is the file you're changing in a layer of
an overlay filesystem? I noticed the time didn't change on the file either.
On 6/14/2019 8:54 AM, JB Data31 wrote:
Hi,
I am a busybox user
Thank you very much for sending in a patch for this. It has been on my
list of pain points for BusyBox for a while now since I need to 'losetup
-fP disk_image' for some things I do semi-regularly, but you've just
saved me the trouble. I'm looking forward to this patch being accepted!
On
On 12/19/2018 8:16 AM, Tito wrote:
On 11/12/18 18:29, Jody Bruchon wrote:
This updated version of the jdupes duplicate file finder port to
BusyBox adds a whole host of feature exclusions that allow further
reduction of the applet's size. Nearly all of the final actions
performed by jdupes
On 12/19/2018 7:10 AM, Xabier Oneca -- xOneca wrote:
Hi,
The redundant unknown option text is there so the big 'case' has a default
block. It should never be reached, but it's there for safety just in case. I
suppose the fprintf() could be changed out to the new unsupported_option()
On 12/19/2018 5:02 AM, Xabier Oneca -- xOneca wrote:
Hello Jody,
Why are you treating disabled options with the message 'Option %s is
disabled in this build', when you already provide similar message for
unknown options ('Sorry, using '-%c' is not supported.')? Won't save
much, but I see them a
It's been a week since I sent this in. Does anyone have any questions,
comments, thoughts or opinions?
On 12/11/2018 12:29 PM, Jody Bruchon wrote:
This updated version of the jdupes duplicate file finder port to
BusyBox adds a whole host of feature exclusions that allow further
reduction
n and I've
noted that in the help text.
/* jdupes (C) 2015-2018 Jody Bruchon
Derived from fdupes (C) 1999-2018 Adrian Lopez
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation files
(the "Software"), to
Do you have an alias for 'df' by some chance?
On 12/11/2018 11:10 AM, David Henderson wrote:
So I was checking with the 'df' from coreutils on another computer and
in doing so I stumbled upon something bizarre. Going back to my main
computer (that only has the BB 'df'):
# which df
/bin/df
#
3648 1020201 f9129 busybox_with_jdupes
1005355 6755 3600 1015710 f7f9e busybox_with_jdupes_minimal
991308 6731 3216 1001255 f4727 busybox_without_jdupes
Signed-off-by: Jody Bruchon
/* jdupes (C) 2015-2018 Jody Bruchon
Derived from fdupes (C) 1999-2018 Adrian Lopez
Permission is
that are required for busybox??
To: busybox@busybox.net
From: Eli Schwartz
Date sent: Mon, 25 Jun 2018 15:30:21 -0400
On 06/25/2018 03:20 PM, Jody Bruchon wrote:
By the way, you can also grab the relocations directly from the
binary with this horrific expression (replace the path as needed
expression (replace the path as needed):
readelf -d /bin/busybox | sed 's/.*\[\([^]]*\)]/\1/'
Scary but effective.
-Jody Bruchon
On June 25, 2018 3:01:56 PM EDT, "Michael D. Setzer II" wrote:
>Ran into a problem when trying to clean up libraries that were not
>needed
>within
buffer becomes
// zero-length, a newline is added back, which
requires this to compensate.
Can any of you[1] think other situations where this would break?
Thanks,
Kartik
[1] Particularly Jody Bruchon, original author of commit a8d6f9be in
Apr 2014. Thanks in advance, Jody.
I am the author o
On 8/29/2017 7:58 AM, Denys Vlasenko wrote:
I'll cc this to bbox mailing list to humiliate this guy.
On Tue, Aug 29, 2017 at 1:21 PM, wrote:
I'm trying to update busybox binary on busybox-based system.
When i am trying to download busybox, i have this error
# wget
On 2017-07-27 12:16, Xabier Oneca -- xOneca wrote:
Hello:
2017-07-27 17:48 GMT+02:00 Ron Yorston :
Kang-Che Sung wrote:
dietlibc supports %m only if WANT_ERROR_PRINTF is defined in
when building, and its commented out by default.
I don't know how to check the macro
On 2017-07-19 14:34, Markus Gothe wrote:
Look over here
http://pubs.opengroup.org/onlinepubs/9699919799/functions/scanf.html
instead:
The %m in BusyBox is a printf specifier, not a scanf specifier. How is
this link relevant to printf("%m")?
___
https://www.gnu.org/software/gnulib/manual/html_node/fprintf.html
-Jody Bruchon
___
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
Looks like I missed the help text in the last patch. This time I've
attached it in a way that shouldn't mangle the tabs.
From 653b0410685813d223acfdd62cc989e1cd8a555e Mon Sep 17 00:00:00 2001
From: Jody Bruchon <j...@jodybruchon.com>
Date: Thu, 30 Mar 2017 12:24:56 -0400
Subject: [PATCH] Ad
From 5ebbe05516c6735df219e8c0069cc4330ae9184b Mon Sep 17 00:00:00 2001
From: Jody Bruchon <j...@jodybruchon.com>
Date: Thu, 30 Mar 2017 11:09:21 -0400
Subject: [PATCH] uniq: add -i option to ignore case
Signed-off-by: Jody Bruchon <j...@jodybruchon.com>
---
coreutils/uniq.c | 7 +++
On 2017-02-24 08:49, David Henderson wrote:
Thanks for the tip Rob! So it looks like my only resolution to this
problem is the dmesg silencing? The only issue I see with that is
that perhaps something I need to see won't get shown.
Setting the level higher will restrict immediate console
On 2017-02-22 08:43, David Henderson wrote:
Good morning all! Yes I am not specifying the type as ext4
explicitly, so it is being probed. The partitions mount and work
correctly, I just keep getting these error messages any time they are
mounted (e.g. bootup, attaching external drives, etc).
On 2017-02-22 2:28 AM, Mattias Schlenker wrote:
Am 21.02.2017 um 22:09 schrieb David Henderson:
EXT4-fs (sde2): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (sde2): couldn't mount as ext2 due to feature incompatibilities
Are you in control of the kernel configuration? In
On 2017-02-21 4:09 PM, David Henderson wrote:
Good afternoon all! I am using the BB mount command to mount several
partitions, but when the command is executed I get:
EXT4-fs (sde2): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (sde2): couldn't mount as ext2 due to feature
On 2017-01-10 3:42 AM, Kang-Che Sung wrote:
Please revert commit 8ad78e1ec7b2e873953f9f476fb63b5893526c39
"ash: make dot command search current directory first, as bash does."
This dot command behavior neither follows bash's behavior nor POSIX's.
It is also a security risk to have the dot
On 11/27/2016 12:11 AM, Denys Vlasenko wrote:
> I looked at these "type codes of GPT partitions" and they seem to be
> a figment of imagination of "GPT fdisk" people: they are not stored
on disk,
> fdisk authors just assigned them to some GUIDs.
>
> How do you find them useful?
I use gptfdisk
eported. I haven't
tested it but it should be functionally identical and close the most
obvious sprintf security holes I found on a cursory examination. Hope
this helps.
-Jody Bruchon
>From a6d75d30f172e50e9c46efc9d1d6aba62dd4908b Mon Sep 17 00:00:00 2001
From: Jody Bruchon <j...@jodybrucho
On 2016-08-27 08:18, Tito wrote:
>> $ ./busybox
>> busybox: applet not found
The help text and applet list should not be shown and no error thrown
as this is the expected behavior so it should be:
>> $ ./busybox
>> $ echo $?
>> 0
This makes sense; return 0 if the busybox
On 2016-07-10 14:18, Denys Vlasenko wrote:
Hi guys,
Please speak up if you ever looked into examples/var_service/*
and found it useful in any way.
I believe it was very useful for me when I was trying to understand how
runsvdir and friends worked for an embedded init system. It has been a
On 2016-07-04 11:34, walter harms wrote:
Am 04.07.2016 17:22, schrieb Jody Bruchon:
On 2016-07-04 11:18, Vito Mulè wrote:
Can you strace it and post the output?
I can confirm this problem has been going on for a while; one day it
just stopped working. Here's an strace:
$ strace busybox
On 2016-04-23 16:56, Cristian Ionescu-Idbohrn wrote:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add ..." to include in what will be committed)
include/common_bufsiz.h
include/common_bufsiz.h.method
nothing added
On 2016-04-20 08:03, Denys Vlasenko wrote:
> On Wed, Apr 20, 2016 at 12:55 PM, Guillermo Rodriguez Garcia
> wrote:
When strings are abbreviated the new find_applet_by_name() is about
34% slower than currently. (All comparisons are for the default
On February 1, 2016 9:28:58 AM EST, Sean Mathews wrote:
>Maybe write a simple C init wrapper and have it call the real init
>process.
Write a shell script that stores its arguments in a particular text file i.e.
'echo "$@" > /var/log/init_cmdline'. Have that shell script
On 2016-01-28 12:02, Nicolas CARRIER wrote:
Why are init's arguments wipe ?
I had the hope to pass init some arguments, then read them by looking
into /proc/1/cmdline, but no luck...
I don't know the answer to the question about init's arguments being
erased, but assuming you're on Linux, you
coding practice (being clever is
almost always a future maintainability nightmare) and should not be accepted
into BusyBox without being rewritten in a maintainable way, including detailed
comments explaining why and how it does what it does.
Jody Bruchon
On October 13, 2015 6:23:46 AM EST, walter
On 2015-10-13 08:42, Denys Vlasenko wrote:
> On Tue, Oct 13, 2015 at 1:00 PM, Jody Bruchon <j...@jodybruchon.com>
wrote:
>> I agree. There is no good reason for doing this at all. It looks
like someone has intentionally obfuscated the code. If it's for throwing
an e
On October 13, 2015 11:02:45 AM EST, Denys Vlasenko
wrote:
is obvious you did not bother reading the code before coming up
>with criticism.
I apologize and withdraw my statements. I will say that a comment explaining
why that typedef exists would still be beneficial.
l be quite slow if xfs_fsr is running while you're trying to use the device
for its intended purpose.
Read the XFS FAQ to get more information on this topic. The XFS people have
covered all of these questions very comprehensively.
Jody Bruchon
On October 12, 2015 11:21:39 AM EST, Mik
no reason to argue with making such a feature
available.
Jody Bruchon
___
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
I did not see the email you've quoted on the mailing list. Interesting.
I shall respond to it now.
On 2015-08-25 03:00, dietmar.schind...@manroland-web.com wrote:
Von: Tito
Gesendet: Montag, 24. August 2015 21:29
Hi Jody,
so you pass the buck to the silly caller to guess what is consistent,
On 2015-08-21 17:26, Tito wrote:
what sense would it make to check if str\0 ends_with \0 if all strings
do end with \0 ?
In this case, I view this as a problem of handling all possible valid
inputs in a robust manner. It can also make the code more efficient
since \0 is just another byte and
On July 15, 2015 5:27:52 PM EDT, Gregory Fong gregory.0...@gmail.com wrote:
Promote the first arg to unsigned long long to avoid this.
Why not uint64_t?
___
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
On 5/13/2015 7:45 AM, Mike Yates wrote:
read -p Enter name: $name
I have found that the $ is the issue - Busybox will only accept a
variable name without it, while Bash accepts either, or the null
variable.
My understanding is that BusyBox does not attempt to support Bashisms
beyond a certain
On 05/13/2015 11:27 AM, Michael Conrad wrote:
My bash behaves like busybox. As far as I know it has never been
possible to read $foo and get the value placed into $foo (unless
$foo=foo)
I confirmed that bash on one of my servers does allow use of 'read $foo'
instead of 'read foo'. It seems like
On 05/13/2015 1:00 PM, Michael Conrad wrote:
while read $foo; do
echo $foo;
done
Does it start writing to an unintended variable on the second iteration?
My bash appears to resolve $foo to nothing and puts the response in
$REPLY. What's strange is that it is now NOT letting me use 'read
Today I encountered an invalid magic error using BusyBox 1.23.1 tar on
x86_64 while unpacking a 16 GB archive full of database files. It got
about halfway through and gave up. GNU tar unpacked it without any
issues. It is possible that my error is caused by an ancient tar 1.12
without large
On 4/15/2015 6:15 AM, Bartosz Golaszewski wrote:
Allow users to select the compiler optimization level by adding
appropriate config options.
I would suggest dropping -O0 and -O1 and replacing them with -Og. This
optimization is equal to -O2 but turns off *only* optimizations that
cause
. If you
need more assistance, try asking questions on a board centered on Linux
users helping each other, such as LinuxQuestions.org.
-Jody Bruchon
___
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
On March 3, 2015 12:02:55 PM EST, Isaac Dunham ibid...@gmail.com wrote:
Was this copy-pasted from coreutils/dd.c?
The bloat could be reduced by making it shared between dd and truncate;
Also, is there any real reason for the D suffix to exist in BusyBox at all? It
seems unnecessary. My
On June 1, 2014 6:28:00 PM EDT, Denys Vlasenko vda.li...@googlemail.com wrote:
Hmm.
awk.c already has hashtable implementation. A growable one at that.
Perhaps it could be generalized a bit and pulled into libbb?
-Jody
___
busybox mailing list
annoyance for me, and I would love to see
this feature added.
Jody Bruchon
___
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
')
*p++ = '\0';
if (*q)
colon(q);
} while (p);
free(initial_cmds[n]);
initial_cmds[n] = NULL;
n++;
}
}
#endif
-snip-
Thanks in advance!
-Jody Bruchon
On 3/18/2014 10:51 AM, Jody Bruchon wrote:
Out of an interest in seeing this feature, I'm looking at vi.c
I've started implementing the undo function; it looks to be easier
than I expected now that I have a feel for the way the buffer is handled
and should add very little actual code (though
On 3/18/2014 6:15 PM, Jody Bruchon wrote:
As promised earlier, I have written undo support for BusyBox 'vi'.
I forgot to add my sign-off to this patch; please tack it on if
committed to Git.
Signed-off-by: Jody Bruchon j...@jodybruchon.com
On 3/18/2014 6:15 PM, Jody Bruchon wrote:
This code is in a works for me state but needs testing and refinement.
D'oh, I didn't test building without the undo feature enabled and missed
an #if/#endif. Apologies. Revised patch attached.
Also, there is an unused parameter warning if undo
BusyBox fdisk GPT support does not multiply the total sector count by
the sector size in bytes before calculating total disk and partition
sizes. This patch fixes the math to display correct sizes.
Regards,
Jody Lee Bruchon
--- a/util-linux/fdisk_gpt.c2013-05-11 19:30:45.0 -0400
71 matches
Mail list logo