OSDN Git Service

android-x86/external-toybox.git
8 years agoSwitch to toybox ps. am: 782aced0d9
Elliott Hughes [Thu, 5 May 2016 00:38:16 +0000 (00:38 +0000)]
Switch to toybox ps. am: 782aced0d9
am: 023bb1a8fb

* commit '023bb1a8fb9bd19a700278bd88997d8d20b6bc15':
  Switch to toybox ps.

Change-Id: I00857da365b9a091509bb6e2e6da2e56b69adfd5

8 years agoSwitch to toybox ps.
Elliott Hughes [Thu, 5 May 2016 00:36:01 +0000 (00:36 +0000)]
Switch to toybox ps.
am: 782aced0d9

* commit '782aced0d9714d1fd0a9caad92ad999f33c06f39':
  Switch to toybox ps.

Change-Id: I0ff5892289e4e432d4eca79421d777e06171b88a

8 years agoSwitch to toybox ps.
Elliott Hughes [Wed, 4 May 2016 22:18:27 +0000 (15:18 -0700)]
Switch to toybox ps.

Change-Id: I1f0307a8c9511d02a173555b92ebd0f83df229c9

8 years agoRegenerate generated files. am: 2737fdfe8c
Elliott Hughes [Wed, 4 May 2016 21:02:51 +0000 (21:02 +0000)]
Regenerate generated files. am: 2737fdfe8c
am: 345f26605e

* commit '345f26605ec576fdb185102282864d4f8ee9d787':
  Regenerate generated files.

Change-Id: I35785bfef30b9d5988280458146c080e54884f93

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD am: 67d6a99a50
Elliott Hughes [Wed, 4 May 2016 21:02:50 +0000 (21:02 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD am: 67d6a99a50
am: 9b8364720e

* commit '9b8364720e43847d07908910d0aef3525a117986':
  Hostname cleanup, as described on the list.
  Add -b and -F arguments to hostname
  Fluff up README.
  Add a ps "PCY" field for Android scheduling policy.

Change-Id: I9b7d908e4bd364ea8c13a887fd50f9b02d408b97

8 years agoRegenerate generated files.
Elliott Hughes [Wed, 4 May 2016 20:57:40 +0000 (20:57 +0000)]
Regenerate generated files.
am: 2737fdfe8c

* commit '2737fdfe8cd90b1dfe0ea3acd28b9c5f02a0f6a1':
  Regenerate generated files.

Change-Id: I959d21cedde1df1626f29272895b73edec5a6f06

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD
Rob Landley [Wed, 4 May 2016 20:57:34 +0000 (20:57 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am: 67d6a99a50

* commit '67d6a99a509fede4f90a70f8b8d02533ef1ab308':
  Hostname cleanup, as described on the list.
  Add -b and -F arguments to hostname
  Fluff up README.
  Add a ps "PCY" field for Android scheduling policy.

Change-Id: I63376d97f4aca4e9c061ec4e6cbf908a93fbb426

8 years agoRegenerate generated files.
Elliott Hughes [Wed, 4 May 2016 20:42:18 +0000 (13:42 -0700)]
Regenerate generated files.

Change-Id: I8d1590a61a7339f65cd1bdf28601f85768563b57

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Wed, 4 May 2016 20:36:49 +0000 (13:36 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agoHostname cleanup, as described on the list.
Rob Landley [Wed, 4 May 2016 10:14:35 +0000 (05:14 -0500)]
Hostname cleanup, as described on the list.

8 years agoAdd -b and -F arguments to hostname
Paul Barker [Sun, 1 May 2016 14:42:57 +0000 (15:42 +0100)]
Add -b and -F arguments to hostname

These arguments are required to correctly set the hostname at boot time. They
are used by the '/etc/init.d/hostname.sh' init script in an OpenEmbedded system.

8 years agoFluff up README.
Rob Landley [Mon, 2 May 2016 23:59:57 +0000 (18:59 -0500)]
Fluff up README.

8 years agoAdd a ps "PCY" field for Android scheduling policy.
Elliott Hughes [Sat, 30 Apr 2016 01:04:20 +0000 (18:04 -0700)]
Add a ps "PCY" field for Android scheduling policy.

8 years agoRegenerate generated files. am: d79a424de9
Elliott Hughes [Sat, 30 Apr 2016 18:13:37 +0000 (18:13 +0000)]
Regenerate generated files. am: d79a424de9
am: cc0dd37709

* commit 'cc0dd377096bc99eef63c465a975d1f0f238ce1b':
  Regenerate generated files.

Change-Id: Id0326799db9540cf67364fd36a41f075c78e72b0

8 years agoRegenerate generated files.
Elliott Hughes [Sat, 30 Apr 2016 18:10:07 +0000 (18:10 +0000)]
Regenerate generated files.
am: d79a424de9

* commit 'd79a424de98848850dd5f17f892a3a269e0eee39':
  Regenerate generated files.

Change-Id: I739ae831ab7103700be63c899beeec6bfb2a95cf

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD am: 665bd50906
Elliott Hughes [Sat, 30 Apr 2016 17:00:32 +0000 (17:00 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD am: 665bd50906
am: ee12b24d75

* commit 'ee12b24d751225f4e04c67edaa31610cad77f737':
  First guess at showing thread names properly.
  Show "-" rather 0 if we don't know whether a process is 32- or 64-bit.
  Fix ps -O help output alignment.

Change-Id: I15b34c904196f8754e8be659642367b70d042ced

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD
Rob Landley [Sat, 30 Apr 2016 16:57:05 +0000 (16:57 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am: 665bd50906

* commit '665bd509068d1856d4c1774c584a80fcae6fcea0':
  First guess at showing thread names properly.
  Show "-" rather 0 if we don't know whether a process is 32- or 64-bit.
  Fix ps -O help output alignment.

Change-Id: I970c8c676b03a9bf5cf8916f07199f2073b52980

8 years agoRegenerate generated files.
Elliott Hughes [Sat, 30 Apr 2016 16:52:51 +0000 (09:52 -0700)]
Regenerate generated files.

Change-Id: Id500eb735af13344c65dfce96f37199e65d4fe53

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Sat, 30 Apr 2016 16:26:12 +0000 (09:26 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agoFirst guess at showing thread names properly.
Rob Landley [Sat, 30 Apr 2016 00:45:18 +0000 (19:45 -0500)]
First guess at showing thread names properly.

8 years agoShow "-" rather 0 if we don't know whether a process is 32- or 64-bit.
Elliott Hughes [Fri, 29 Apr 2016 21:04:40 +0000 (14:04 -0700)]
Show "-" rather 0 if we don't know whether a process is 32- or 64-bit.

8 years agoFix ps -O help output alignment.
Elliott Hughes [Fri, 29 Apr 2016 20:44:01 +0000 (13:44 -0700)]
Fix ps -O help output alignment.

8 years agoRegenerate generated files. am: 3b8b9e954f
Elliott Hughes [Fri, 29 Apr 2016 21:20:31 +0000 (21:20 +0000)]
Regenerate generated files. am: 3b8b9e954f
am: 00f33040d7

* commit '00f33040d74c4bb0218a1501887b9fa9611fac18':
  Regenerate generated files.

Change-Id: I76283bc35e1f2ec1a9aef738d9e640983baeec98

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD am: 2305dc0dd2
Elliott Hughes [Fri, 29 Apr 2016 21:20:31 +0000 (21:20 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD am: 2305dc0dd2
am: 5e9d6ffc29

* commit '5e9d6ffc295d032659045b0374ebf1434fc1288d':
  ps thread supportand 32/64 bit detection.
  Fix find bug reported by Tom Marshall, add test for it, and while we're at it fix two tests looking for a too-specific error message (so TEST_HOST failed).
  Add "infrastructure in search of a user" to cleanup.html.
  Add the non-tty more(1) test.

Change-Id: Idd28f5ad3481a0ea9650f8033ae945e226c9f60a

8 years agoRegenerate generated files.
Elliott Hughes [Fri, 29 Apr 2016 21:18:17 +0000 (21:18 +0000)]
Regenerate generated files.
am: 3b8b9e954f

* commit '3b8b9e954fcecbcfe1a39b288ba181160fb8fb90':
  Regenerate generated files.

Change-Id: If380f6c84db39b11c24ceac45eae654d129eac99

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD
Rob Landley [Fri, 29 Apr 2016 21:18:14 +0000 (21:18 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am: 2305dc0dd2

* commit '2305dc0dd21b7abcd221df9c3636a5dce05b0692':
  ps thread supportand 32/64 bit detection.
  Fix find bug reported by Tom Marshall, add test for it, and while we're at it fix two tests looking for a too-specific error message (so TEST_HOST failed).
  Add "infrastructure in search of a user" to cleanup.html.
  Add the non-tty more(1) test.

Change-Id: Ib8b006ffa215e6ec92c28d7f1a7057e3e09cded3

8 years agoRegenerate generated files.
Elliott Hughes [Fri, 29 Apr 2016 21:10:40 +0000 (14:10 -0700)]
Regenerate generated files.

Change-Id: Ifbb9056f6fa700c3426012d4ec6c43b70a4947c4

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Fri, 29 Apr 2016 18:57:24 +0000 (11:57 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agops thread supportand 32/64 bit detection.
Rob Landley [Mon, 25 Apr 2016 22:46:26 +0000 (17:46 -0500)]
ps thread supportand 32/64 bit detection.

Add ps -o BIT,TID,TCNT, and make -T display "PID,TID" for default output types
(adding TCNT to -f)

8 years agoFix find bug reported by Tom Marshall, add test for it, and while we're at it
Rob Landley [Mon, 25 Apr 2016 05:55:01 +0000 (00:55 -0500)]
Fix find bug reported by Tom Marshall, add test for it, and while we're at it
fix two tests looking for a too-specific error message (so TEST_HOST failed).

8 years agoAdd "infrastructure in search of a user" to cleanup.html.
Rob Landley [Sun, 24 Apr 2016 19:30:31 +0000 (14:30 -0500)]
Add "infrastructure in search of a user" to cleanup.html.

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD am: 1fdd927
Elliott Hughes [Sun, 24 Apr 2016 16:41:27 +0000 (16:41 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD am: 1fdd927
am: 94694dd

* commit '94694dda30203290085c3f601b4c360ce99d4c80':
  Fix more to not append an extra newline.
  Fix more to a non-tty.
  Remove inappropriate bzip tests (we're not comparing with random "host version") replace with testing 2 known files out of blkid tests, and add badcrc test.
  Fiz bzcat segfault reported by John Regehr (bad crc didn't set error message).
  Allow EVAL= to run test under a different shell (for sh.test)
  Have dirtree_recurse() take the new dirfd as an argument.
  Fix touch -t seconds parsing

Change-Id: Ib09dafbf854fe6955918ed82f259f953f67430cd

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Sun, 24 Apr 2016 16:37:00 +0000 (16:37 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am: 1fdd927

* commit '1fdd9271635a8681326c756ec43e7b037ca5891d':
  Fix more to not append an extra newline.
  Fix more to a non-tty.
  Remove inappropriate bzip tests (we're not comparing with random "host version") replace with testing 2 known files out of blkid tests, and add badcrc test.
  Fiz bzcat segfault reported by John Regehr (bad crc didn't set error message).
  Allow EVAL= to run test under a different shell (for sh.test)
  Have dirtree_recurse() take the new dirfd as an argument.
  Fix touch -t seconds parsing

Change-Id: I6003a9818923b1968963624f6a6f7b42584bcbb0

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Sun, 24 Apr 2016 16:19:49 +0000 (09:19 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agoAdd the non-tty more(1) test.
Elliott Hughes [Sat, 23 Apr 2016 21:20:38 +0000 (14:20 -0700)]
Add the non-tty more(1) test.

(This was supposed to be in the earlier patch, but I was fooled by
"git commit -a" yet again...)

8 years agoFix more to not append an extra newline.
Elliott Hughes [Fri, 22 Apr 2016 01:18:05 +0000 (18:18 -0700)]
Fix more to not append an extra newline.

More's sigatexit handler needs to distinguish between normal exit and exit
due to receipt of a signal.

Change tty_sigreset to look at the signal number too, so that pressing 'q'
to exit top doesn't cause its exit status to be 128.

8 years agoFix more to a non-tty.
Elliott Hughes [Fri, 22 Apr 2016 00:41:40 +0000 (17:41 -0700)]
Fix more to a non-tty.

And add a test.

8 years agoRemove inappropriate bzip tests (we're not comparing with random "host version")
Rob Landley [Sat, 23 Apr 2016 10:26:17 +0000 (05:26 -0500)]
Remove inappropriate bzip tests (we're not comparing with random "host version")
replace with testing 2 known files out of blkid tests, and add badcrc test.

8 years agoFiz bzcat segfault reported by John Regehr (bad crc didn't set error message).
Rob Landley [Sat, 23 Apr 2016 10:04:37 +0000 (05:04 -0500)]
Fiz bzcat segfault reported by John Regehr (bad crc didn't set error message).

8 years agoAllow EVAL= to run test under a different shell (for sh.test)
Rob Landley [Sat, 23 Apr 2016 00:08:56 +0000 (19:08 -0500)]
Allow EVAL= to run test under a different shell (for sh.test)

8 years agoRegenerate generated files. am: bba047d92c
Elliott Hughes [Fri, 22 Apr 2016 16:29:17 +0000 (16:29 +0000)]
Regenerate generated files. am: bba047d92c
am: 9e744bf126

* commit '9e744bf12616a36c93942dd6534045e52eb2386c':
  Regenerate generated files.

Change-Id: Ibce761c3dc41e0a1096bc3352cfe4ac1bb456074

8 years agoRegenerate generated files.
Elliott Hughes [Fri, 22 Apr 2016 16:26:51 +0000 (16:26 +0000)]
Regenerate generated files.
am: bba047d92c

* commit 'bba047d92c355e15913c3ab4d3859746b8070571':
  Regenerate generated files.

Change-Id: I4470a3eca7026c1c7c94e7fece26bcfd6ef90ae7

8 years agoRegenerate generated files.
Elliott Hughes [Fri, 22 Apr 2016 15:34:27 +0000 (08:34 -0700)]
Regenerate generated files.

Change-Id: I2557e28527c58f25c814a961c003371b1a3214fc

8 years agoHave dirtree_recurse() take the new dirfd as an argument.
Rob Landley [Thu, 21 Apr 2016 22:46:25 +0000 (17:46 -0500)]
Have dirtree_recurse() take the new dirfd as an argument.

8 years agoFix touch -t seconds parsing
Davis Mosenkovs [Wed, 20 Apr 2016 21:44:13 +0000 (14:44 -0700)]
Fix touch -t seconds parsing

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD am: b9cc6c6427
Elliott Hughes [Thu, 21 Apr 2016 02:35:25 +0000 (02:35 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD am: b9cc6c6427
am: 2d7aedf735

* commit '2d7aedf735128838ada0a8e949dd3a57f2e3ded0':
  Start of shell tests: $(()) and $'' expansion.
  Replace list_working with just list, "make list list_pending" shows combined list.
  ps and top are implemented from the android todo. Record enh's wishlist items.
  Dust off toysh, remove ancient config debris, add start of prompt logic.
  Fix tail -NUM again.
  Fix "ssh top".
  Fix top -b.
  Rename gratuitous references to Roger Zelazny's amber series, add comments.
  Fix a buffer overflow in diff -r.
  Andy Chu pointed out an out of bounds access for zero length lines.
  sed -f - should read from stdin.
  Didn't check in all my local basename_r->getbasename changes. (Oops.)
  Jakob Flierl pointed out a broken URL in the README.
  Redefining basename_r to mean something random seems popular (bionic and freebsd both did it) so use getbasename instead.
  Whitespace and comment.
  Implement mv -n / cp -n (no clobber).

Change-Id: I538d72780ace8c5751041483fc33228dfe4862dc

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD
Rob Landley [Thu, 21 Apr 2016 02:33:15 +0000 (02:33 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am: b9cc6c6427

* commit 'b9cc6c64274a1b67546ff8be78dbc0290b3e0634':
  Start of shell tests: $(()) and $'' expansion.
  Replace list_working with just list, "make list list_pending" shows combined list.
  ps and top are implemented from the android todo. Record enh's wishlist items.
  Dust off toysh, remove ancient config debris, add start of prompt logic.
  Fix tail -NUM again.
  Fix "ssh top".
  Fix top -b.
  Rename gratuitous references to Roger Zelazny's amber series, add comments.
  Fix a buffer overflow in diff -r.
  Andy Chu pointed out an out of bounds access for zero length lines.
  sed -f - should read from stdin.
  Didn't check in all my local basename_r->getbasename changes. (Oops.)
  Jakob Flierl pointed out a broken URL in the README.
  Redefining basename_r to mean something random seems popular (bionic and freebsd both did it) so use getbasename instead.
  Whitespace and comment.
  Implement mv -n / cp -n (no clobber).

Change-Id: I2acb9b1a9a6fa74247a4b6cdd39610853c54e2d3

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Thu, 21 Apr 2016 01:22:50 +0000 (18:22 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agoStart of shell tests: $(()) and $'' expansion.
Rob Landley [Wed, 20 Apr 2016 06:56:10 +0000 (01:56 -0500)]
Start of shell tests: $(()) and $'' expansion.

8 years agoReplace list_working with just list, "make list list_pending" shows combined list.
Rob Landley [Wed, 20 Apr 2016 05:47:05 +0000 (00:47 -0500)]
Replace list_working with just list, "make list list_pending" shows combined list.

8 years agops and top are implemented from the android todo. Record enh's wishlist items.
Rob Landley [Wed, 20 Apr 2016 04:03:12 +0000 (23:03 -0500)]
ps and top are implemented from the android todo. Record enh's wishlist items.

8 years agoStop creating a symlink for route. am: 1c2326b
Elliott Hughes [Mon, 18 Apr 2016 17:46:48 +0000 (17:46 +0000)]
Stop creating a symlink for route. am: 1c2326b
am: 1c02249

* commit '1c0224989336319363321869da4895ea67a6bdd5':
  Stop creating a symlink for route.

Change-Id: Ibbcd3cc07a84a98463d82ddd02be562e502704fe

8 years agoStop creating a symlink for route.
Elliott Hughes [Mon, 18 Apr 2016 17:41:32 +0000 (17:41 +0000)]
Stop creating a symlink for route.
am: 1c2326b

* commit '1c2326b8af500adbb5864ea87afa94a0c6cf1ff0':
  Stop creating a symlink for route.

Change-Id: I222cdc63784d7c1c4f20e6a12384823c3f04754b

8 years agoDust off toysh, remove ancient config debris, add start of prompt logic.
Rob Landley [Sun, 17 Apr 2016 21:34:47 +0000 (16:34 -0500)]
Dust off toysh, remove ancient config debris, add start of prompt logic.

8 years agoFix tail -NUM again.
Elliott Hughes [Sat, 16 Apr 2016 15:19:23 +0000 (08:19 -0700)]
Fix tail -NUM again.

This time with a test.

8 years agoFix "ssh top".
Elliott Hughes [Sat, 16 Apr 2016 01:48:12 +0000 (18:48 -0700)]
Fix "ssh top".

The ps.c change allows us to start. The interestingtimes.c change allows
us to clean up properly afterwards if you ^C out (which you usually do).

Tested with both ssh and "adb shell" (the latter being where I noticed
the problem).

8 years agoFix top -b.
Elliott Hughes [Sat, 16 Apr 2016 01:38:53 +0000 (18:38 -0700)]
Fix top -b.

Batch mode should never output terminal escape sequences, should ignore
the keyboard, and should include a gap between datasets.

8 years agoRename gratuitous references to Roger Zelazny's amber series, add comments.
Rob Landley [Sat, 16 Apr 2016 19:03:36 +0000 (14:03 -0500)]
Rename gratuitous references to Roger Zelazny's amber series, add comments.

8 years agoStop creating a symlink for route.
Elliott Hughes [Fri, 15 Apr 2016 18:57:05 +0000 (11:57 -0700)]
Stop creating a symlink for route.

We should remove the "route" command because its output is irrelevant and
misleading. This is because it only looks at the "main" routing table,
which is a last resort routing table that is a) trumped by all other
networks, b) empty except for directly-connected routes c) cannot even be
used by non-root users.

The proper way to understand device routing is to look at the output of
"ip rule" and "ip route", both of which are already available.

Example of how this is confusing:

  $ adb shell route
  Kernel IP routing table
  Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  160.249.218.72  *               255.255.255.248 U     0      0        0 rmnet_data0
  192.168.144.0   *               255.255.240.0   U     0      0        0 wlan0

These aren't guaranteed to be used. For example, according to the output
above 160.249.218.73 should go through rmnet_data0, but it doesn't:

  $ adb shell ip route get 160.249.218.73
  160.249.218.73 via 192.168.159.254 dev wlan0  src 192.168.159.164  uid 0
      cache

Also, there is no default route. But the device has networking just fine:

  $ adb shell ip route get 8.8.8.8
  8.8.8.8 via 192.168.159.254 dev wlan0  src 192.168.159.164  uid 0
      cache

This is a first step. If no device breaks, I'll stop building it too. In the
meantime, it's still available as "toybox route".

Bug: http://b/27603033
Change-Id: Ie444bfa9083e1f11b332d5d050a07cec48436e11

8 years agoFix a buffer overflow in diff -r.
Andy Chu [Sun, 20 Mar 2016 06:11:30 +0000 (23:11 -0700)]
Fix a buffer overflow in diff -r.

We were doing two 32-byte memset()s instead of two 16-byte memset()s.
'dir' referred to the instance (array of 2) and not the struct type.

Add some test coverage for diff, including a case that hit this bug.

The bug was found by running cp.test under AddressSanitizer, since it
happens to use diff.

8 years agoAndy Chu pointed out an out of bounds access for zero length lines.
Rob Landley [Fri, 15 Apr 2016 02:00:54 +0000 (21:00 -0500)]
Andy Chu pointed out an out of bounds access for zero length lines.

While we're at it, use unsigned for the line length.

8 years agosed -f - should read from stdin.
Rob Landley [Mon, 11 Apr 2016 16:32:36 +0000 (11:32 -0500)]
sed -f - should read from stdin.

8 years agoDidn't check in all my local basename_r->getbasename changes. (Oops.)
Rob Landley [Sun, 10 Apr 2016 19:35:51 +0000 (14:35 -0500)]
Didn't check in all my local basename_r->getbasename changes. (Oops.)

8 years agoJakob Flierl pointed out a broken URL in the README.
Rob Landley [Sat, 9 Apr 2016 16:04:16 +0000 (11:04 -0500)]
Jakob Flierl pointed out a broken URL in the README.

8 years agoRedefining basename_r to mean something random seems popular (bionic and freebsd
Rob Landley [Fri, 8 Apr 2016 23:25:59 +0000 (18:25 -0500)]
Redefining basename_r to mean something random seems popular (bionic and freebsd
both did it) so use getbasename instead.

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD am: a898e9c
Elliott Hughes [Wed, 30 Mar 2016 19:03:36 +0000 (19:03 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD am: a898e9c
am: f619614

* commit 'f61961427bf96bab3fb02996f1fa0bb6037d35f7': (34 commits)
  Fix build when wchar_t is unsigned.
  Fix exit code of things like sed -i that use tempfile_handler().
  basename: fix segfault on null input; add tests
  Add od -w.
  toolbox prlimit is no more.
  Debian bug 635570 did something horribly nonstandard (depending on a side effect of "sed -e 'a\'" with no trailing line). But there's an actual user, and it's not hard to implement, and it's not hard to implement, and there isn't an obvious _other_ way to do it, so add the behavior and a test for it.
  Fix bzcat.test (as noted by Andy Chu), wean tests off $TOPDIR and supply $FILES instead, move tests/blkid into tests/files/blkid.
  The test infrastructure prints the command name now, so file.test shouldn't.
  Minor blkid cleanup. (There was a while(ptr[-1]==' ') ptr--; that could fall off the start of the string. I pulled on the thread...)
  Redo build stuff in response to Andy Chu's suggestions.
  blkid: Handle short/empty vfat labels; update tests
  Posix requires "" to be false, and 00 should be false, and -0 should be false. Fix memory leaks in regex. Simplify regex check (if we matched, subexpression had to match). Don't exit() from a command, set exitval and return.
  Make lsof 10x faster by caching /proc/net socket info.
  Fix last commit (had newline before first ==> name <==) and add -f tests.
  Fix "tail -f single_file".
  expr cleanup: simplify get_str() and free returned allocations.
  Remove 'exit' from xargs test too.
  Fix bug where all tests aren't being run with 'make test'.
  expr cleanup: traverse optargs with tok instead of incrementing optargs and copying itinto a second variable. Also add error message for empty ( )
  Move whitespace and curly brackets around, move reference URLs to top of file, eliminate syntax_error() function (just call error_exit() directly), eliminate advance() wrapper, pipe expected error messages in test to /dev/null
  ...

Change-Id: I01e9b8980f6650ce3e06acc8e94110a75d495c63

8 years agoRegenerate generated files. am: fafe427
Elliott Hughes [Wed, 30 Mar 2016 19:03:36 +0000 (19:03 +0000)]
Regenerate generated files. am: fafe427
am: 5b9d613

* commit '5b9d6139f9a4ec8849567833d660a598523605de':
  Regenerate generated files.

Change-Id: I298283e4b90bf745e7f49e0a33d64559960505b3

8 years agoMerge remote-tracking branch \'toybox/master\' into HEAD
Elliott Hughes [Wed, 30 Mar 2016 17:48:09 +0000 (17:48 +0000)]
Merge remote-tracking branch \'toybox/master\' into HEAD
am: a898e9c

* commit 'a898e9c4b457765173a0ec6adea26d45b70b744c': (34 commits)
  Fix build when wchar_t is unsigned.
  Fix exit code of things like sed -i that use tempfile_handler().
  basename: fix segfault on null input; add tests
  Add od -w.
  toolbox prlimit is no more.
  Debian bug 635570 did something horribly nonstandard (depending on a side effect of "sed -e 'a\'" with no trailing line). But there's an actual user, and it's not hard to implement, and it's not hard to implement, and there isn't an obvious _other_ way to do it, so add the behavior and a test for it.
  Fix bzcat.test (as noted by Andy Chu), wean tests off $TOPDIR and supply $FILES instead, move tests/blkid into tests/files/blkid.
  The test infrastructure prints the command name now, so file.test shouldn't.
  Minor blkid cleanup. (There was a while(ptr[-1]==' ') ptr--; that could fall off the start of the string. I pulled on the thread...)
  Redo build stuff in response to Andy Chu's suggestions.
  blkid: Handle short/empty vfat labels; update tests
  Posix requires "" to be false, and 00 should be false, and -0 should be false. Fix memory leaks in regex. Simplify regex check (if we matched, subexpression had to match). Don't exit() from a command, set exitval and return.
  Make lsof 10x faster by caching /proc/net socket info.
  Fix last commit (had newline before first ==> name <==) and add -f tests.
  Fix "tail -f single_file".
  expr cleanup: simplify get_str() and free returned allocations.
  Remove 'exit' from xargs test too.
  Fix bug where all tests aren't being run with 'make test'.
  expr cleanup: traverse optargs with tok instead of incrementing optargs and copying itinto a second variable. Also add error message for empty ( )
  Move whitespace and curly brackets around, move reference URLs to top of file, eliminate syntax_error() function (just call error_exit() directly), eliminate advance() wrapper, pipe expected error messages in test to /dev/null
  ...

Change-Id: I59e775d702b1930dff37e8b0736857f6cbb4a6b6

8 years agoRegenerate generated files.
Elliott Hughes [Wed, 30 Mar 2016 17:48:09 +0000 (17:48 +0000)]
Regenerate generated files.
am: fafe427

* commit 'fafe427f2eae495dd9b081ed3f17d33dbba0e690':
  Regenerate generated files.

Change-Id: Ibf1139f58e22205dc3b0f14251e4e1d5bd7de040

8 years agoMerge remote-tracking branch 'toybox/master' into HEAD
Elliott Hughes [Wed, 30 Mar 2016 17:22:06 +0000 (10:22 -0700)]
Merge remote-tracking branch 'toybox/master' into HEAD

8 years agoRegenerate generated files.
Elliott Hughes [Wed, 30 Mar 2016 17:20:45 +0000 (10:20 -0700)]
Regenerate generated files.

Change-Id: I5323d381d9dd2e10c90fc10d16ef21dbffdd716b

8 years agoWhitespace and comment.
Rob Landley [Wed, 30 Mar 2016 08:20:13 +0000 (03:20 -0500)]
Whitespace and comment.

8 years agoImplement mv -n / cp -n (no clobber).
Andy Chu [Sat, 19 Mar 2016 07:34:42 +0000 (00:34 -0700)]
Implement mv -n / cp -n (no clobber).

This fixes a failing test case in mv.test.

Test changes:
- Add coverage for -i (interactive).
- Better descriptions, better formatting, and removed some redundant
  cases.

8 years agoFix build when wchar_t is unsigned.
Elliott Hughes [Sat, 26 Mar 2016 17:54:23 +0000 (10:54 -0700)]
Fix build when wchar_t is unsigned.

  external/toybox/lib/linestack.c:84:5: error: conflicting types for 'crunch_str'
  int crunch_str(char **str, int width, FILE *out, char *escmore,
      ^
  external/toybox/lib/lib.h:228:5: note: previous declaration is here
  int crunch_str(char **str, int width, FILE *out, char *escmore,
      ^

I'm not sure whether the interface was intended to be wchar_t or int, but
switching to int is the smaller change...

8 years agoFix exit code of things like sed -i that use tempfile_handler().
Rob Landley [Tue, 29 Mar 2016 08:59:20 +0000 (03:59 -0500)]
Fix exit code of things like sed -i that use tempfile_handler().

(The sigatexit() handler list code now calls the handlers on the normal
exit path, so _exit(1) from the handler is wrong; exit_signal() modifies
toys.exitval if necessary.)

8 years agobasename: fix segfault on null input; add tests
Samuel Holland [Sun, 20 Mar 2016 18:13:21 +0000 (11:13 -0700)]
basename: fix segfault on null input; add tests

When passed an empty string, glibc's basename() returns a pointer to the
string "." in read-only memory. If an empty suffix is given, it fits
the condition of being shorter than the path, so we try to overwrite the
null byte and crash. Fix this by just ignoring empty suffixes; they
don't do anything anyway.

8 years agoAdd od -w.
Elliott Hughes [Sat, 19 Mar 2016 03:12:04 +0000 (20:12 -0700)]
Add od -w.

I'm not an od user myself, but I copy & pasted an 'od' invocation from a bug
and it didn't work. Which was embarrassing because I'd just claimed that the
od user didn't need to run od on their desktop (as they had done) and could
have run it on the device instead...

8 years agotoolbox prlimit is no more.
Elliott Hughes [Mon, 7 Mar 2016 22:51:10 +0000 (14:51 -0800)]
toolbox prlimit is no more.

Replaced by toybox ulimit -p.

8 years agoDebian bug 635570 did something horribly nonstandard (depending on a side
Rob Landley [Thu, 24 Mar 2016 21:20:36 +0000 (16:20 -0500)]
Debian bug 635570 did something horribly nonstandard (depending on a side
effect of "sed -e 'a\'" with no trailing line). But there's an actual user,
and it's not hard to implement, and it's not hard to implement, and there
isn't an obvious _other_ way to do it, so add the behavior and a test for it.

Fix some bad/missing comments while I was there, and add a couple TODOs.

8 years agoFix bzcat.test (as noted by Andy Chu), wean tests off $TOPDIR and supply $FILES
Rob Landley [Wed, 23 Mar 2016 08:44:51 +0000 (03:44 -0500)]
Fix bzcat.test (as noted by Andy Chu), wean tests off $TOPDIR and supply $FILES
instead, move tests/blkid into tests/files/blkid.

8 years agoThe test infrastructure prints the command name now, so file.test shouldn't.
Rob Landley [Wed, 23 Mar 2016 08:30:23 +0000 (03:30 -0500)]
The test infrastructure prints the command name now, so file.test shouldn't.

8 years agoMinor blkid cleanup. (There was a while(ptr[-1]==' ') ptr--; that could fall
Rob Landley [Wed, 23 Mar 2016 08:27:39 +0000 (03:27 -0500)]
Minor blkid cleanup. (There was a while(ptr[-1]==' ') ptr--; that could fall
off the start of the string. I pulled on the thread...)

8 years agoRedo build stuff in response to Andy Chu's suggestions.
Rob Landley [Wed, 23 Mar 2016 08:25:37 +0000 (03:25 -0500)]
Redo build stuff in response to Andy Chu's suggestions.

Toybox single binaries are now made directly with the new name instead of
stomping toybox and getting renamed.

Unstripped files now live in generated/unstripped.

Target to run all tests is now "make tests" to avoid conflict with "make test".

.singleconfig now has .PHONY: entries for all test_$NAME targets.

Default install location changed to /usr/toybox, code.html now says how
to change it (set $PREFIX).

scripts/install.sh --uninstall works now. (And you get to keep the pieces!)

8 years agoblkid: Handle short/empty vfat labels; update tests
Samuel Holland [Sun, 20 Mar 2016 18:13:22 +0000 (11:13 -0700)]
blkid: Handle short/empty vfat labels; update tests

vfat labels have a fixed space allocated for them. In the case of a
shorter label, the remaining bytes are padded with spaces. A vfat
filesystem with no label (i.e. that will show up in Windows as "Local
Disk (X:)" or "Removable Disk (X:)") is stored as "NO NAME    ".

Both of these changes match behavior from util-linux.

8 years agoRemove switch_root.
Elliott Hughes [Mon, 21 Mar 2016 20:50:08 +0000 (20:50 +0000)]
Remove switch_root.
am: d9d7761

* commit 'd9d77619df5f8c156af2504e05d2ed1737ea0335':
  Remove switch_root.

8 years agoPosix requires "" to be false, and 00 should be false, and -0 should be false.
Rob Landley [Mon, 21 Mar 2016 01:39:27 +0000 (20:39 -0500)]
Posix requires "" to be false, and 00 should be false, and -0 should be false.
Fix memory leaks in regex. Simplify regex check (if we matched, subexpression
had to match). Don't exit() from a command, set exitval and return.

8 years agoMake lsof 10x faster by caching /proc/net socket info.
Elliott Hughes [Sat, 19 Mar 2016 15:56:09 +0000 (08:56 -0700)]
Make lsof 10x faster by caching /proc/net socket info.

I deliberately didn't do this first time round because for me our lsof
is already 10x faster than traditional lsof, and caching means we potentially
give less information about a socket that's created while we're running.
It turns out that traditional lsof caches anyway, so I guess nobody cares.

This also fixes a mistake where lsof used CFG_FREE instead of CFG_TOYBOX_FREE.

8 years agoFix last commit (had newline before first ==> name <==) and add -f tests.
Rob Landley [Fri, 18 Mar 2016 19:12:53 +0000 (14:12 -0500)]
Fix last commit (had newline before first ==> name <==) and add -f tests.

8 years agoFix "tail -f single_file".
Josh Gao [Wed, 16 Mar 2016 22:41:13 +0000 (15:41 -0700)]
Fix "tail -f single_file".

TT.file_no was being incorrectly calculated as 0 when tail -f was passed
a single argument.

8 years agoexpr cleanup: simplify get_str() and free returned allocations.
Rob Landley [Thu, 17 Mar 2016 20:19:16 +0000 (15:19 -0500)]
expr cleanup: simplify get_str() and free returned allocations.

8 years agoRemove 'exit' from xargs test too.
Andy Chu [Thu, 17 Mar 2016 19:02:55 +0000 (12:02 -0700)]
Remove 'exit' from xargs test too.

8 years agoFix bug where all tests aren't being run with 'make test'.
Andy Chu [Thu, 17 Mar 2016 07:06:32 +0000 (00:06 -0700)]
Fix bug where all tests aren't being run with 'make test'.

The tests/*.test files shouldn't explicitly exit, because they are
sourced in scripts/test.sh.  No tests after sed were being run.

8 years agoexpr cleanup: traverse optargs with tok instead of incrementing optargs and
Rob Landley [Thu, 17 Mar 2016 02:55:19 +0000 (21:55 -0500)]
expr cleanup: traverse optargs with tok instead of incrementing optargs and
copying itinto a second variable. Also add error message for empty ( )

8 years agoMove whitespace and curly brackets around, move reference URLs to top of file,
Rob Landley [Wed, 16 Mar 2016 17:33:32 +0000 (12:33 -0500)]
Move whitespace and curly brackets around, move reference URLs to top of file,
eliminate syntax_error() function (just call error_exit() directly),
eliminate advance() wrapper, pipe expected error messages in test to /dev/null

8 years agoFix type coercion bugs in expr.
Andy Chu [Tue, 15 Mar 2016 20:52:25 +0000 (13:52 -0700)]
Fix type coercion bugs in expr.

All tests pass now; this fixes the 2 remaining failures, including a
segfault.

The structure of the code has changed a lot -- instead of having a tiny
function per operator, we have eval_op() which does common type coercion
and then evaluates the operator.  I tried writing it a couple different
ways, and this was the cleanest.

The OPS table now contains the operator string, precedence level,
signature for type coercion, and operator ID.

8 years agoFix the operator precedence in expr.
Andy Chu [Tue, 15 Mar 2016 20:42:30 +0000 (13:42 -0700)]
Fix the operator precedence in expr.

expr now uses the precedence table specified by POSIX, implemented using
the "precedence climbing" algorithm.  See the references at the top of
eval_expr().

This fixes 3 of 4 failing tests.

I also added more tests for correct behavior and for syntax errors.
This includes a new test exposing a segfault, related to type coercion.

8 years agoAdd base64.test, and Izabera pointed out that -w0 should disable wrapping.
Rob Landley [Tue, 15 Mar 2016 20:02:21 +0000 (15:02 -0500)]
Add base64.test, and Izabera pointed out that -w0 should disable wrapping.

8 years agoAdd ls -b and make ls -q work with utf8.
Rob Landley [Tue, 15 Mar 2016 07:23:50 +0000 (02:23 -0500)]
Add ls -b and make ls -q work with utf8.

8 years agoSplit out _xexit() from xexit() and give sigatexit() multiple callbacks.
Rob Landley [Mon, 14 Mar 2016 01:23:41 +0000 (20:23 -0500)]
Split out _xexit() from xexit() and give sigatexit() multiple callbacks.

8 years agofactor: use long long math (64 bit on 32 bit platforms) and handle negative
Rob Landley [Sun, 13 Mar 2016 22:23:11 +0000 (17:23 -0500)]
factor: use long long math (64 bit on 32 bit platforms) and handle negative
numbers even though we use unsigned math now.