| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
tail failed to process input from a pipe correctly:
$ echo -n 54321 | tail -c 3
543
It was trying to use lseek as an optimisation but WIN32 lseek doesn't
return an error whan applied to a pipe. Fix this by providing a wrapper
for lseek.
|
|
|
|
|
|
|
|
|
|
| |
Previously spawn was returning a process handle which was treated as a
pid in certain circumstances. This resulted in the following failing:
find . -type f | sed xargs -n 1 sed -n '1 p'
It should output the first line of each file but stopped after the
first.
|
|
|
|
|
|
|
|
| |
Make mingw_spawn_applet and mingw_spawn_1 static.
The return value from spawnve is an exit code in synchronous mode
and a process handle in asynchronous mode. Pass these upwards
without interpretation.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recent changes to make the Windows console behave more like a *nix
terminal didn't work too well for vi/less. On *nix the terminal
buffer can't be scrolled while such screen-based applications are
running. In the Windows console this remained possible and led to
confusion.
Add a new routine to allow vi/less to revert to their previous
behaviour where the cursor is positioned at the top of the buffer
and the entire buffer is cleared.
|
|
|
|
|
|
| |
When a normal *nix terminal has been scrolled back through its
buffer, any keypress will return to the cursor position. Add code
to lineedit.c to do the same for the Windows console.
|
| |
|
| |
|
| |
|
|
|
|
| |
Make 'ls c:' and 'ls c:/*' do the right thing.
|
|
|
|
|
|
|
| |
Commit 69f49ea imported a setitimer implementation from git. Since
setitimer isn't used at all in BusyBox it can be removed. The same
technique could be used to implement alarm but nothing in the WIN32
port uses that (yet).
|
|
|
|
| |
Import inet_pton from gnulib and enable IPv6 support by default.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Commit fa147bd 'Use putenv to implement unsetenv/clearenv' allowed
BusyBox to run on ReactOS but broke it on Windows XP so it was
reverted.
It turns out that the same change is required on 64-bit Windows.
Reinstate the 'safe' environment manipulation code but make it a
configuration option. Add a config file for 64-bit Windows that
does the right thing.
|
|
|
|
|
| |
The third argument should be int. We only support positive pid
values.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This makes it possible to enable the id and groups applets,
though the results they return are worthless.
|
|
|
|
| |
This allows the shell to expand ~user.
|
| |
|
|
|
|
|
|
|
|
|
| |
The read-only attribute on a directory in Microsoft Windows is
quite different from write permission in POSIX. Modify rmdir(2)
and chmod(2) to provide more POSIX-like behaviour:
rmdir will remove a directory even if it's read-only
chmod won't make a directory read-only
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Various fake POSIX routines returned different values for uid/gid:
getuid/getgid used 1, stat used 0 and getpwuid used 1000. Standardise
on 1000.
Also, add fake getgrgid.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using x86_64-w64-mingw32-gcc cross-compiler for win64 gives an error:
```
In file included from include/libbb.h:163:0,
from include/busybox.h:8,
from applets/applets.c:9:
include/mingw.h:10:13: error: conflicting types for ‘pid_t’
typedef int pid_t;
^
In file included from /usr/share/mingw-w64/include/process.h:12:0,
from /usr/share/mingw-w64/include/unistd.h:11,
from include/platform.h:313,
from include/libbb.h:13,
from include/busybox.h:8,
from applets/applets.c:9:
/usr/share/mingw-w64/include/sys/types.h:68:16: note: previous declaration of ‘pid_t’ was here
typedef _pid_t pid_t;
^
make[1]: *** [applets/applets.o] Error 1
```
This change fixes it and results in a successful build of 64-bit busybox.exe.
|
| |
|
|
|
|
| |
This reverts commit fa147bd7ecb086f4fb9a4afea16b946693a822ce.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
noexec applets failed on ReactOS 0.3.17. This was because the
environment was being manipulated directly using the environ pointer.
Implementing unsetenv and clearenv using putenv fixes the problem.
WIN32 putenv doesn't allow environment variables to have empty
values. This was the case before and it's still the case after
this change. Shell variables are fine.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Windows console applications use different codepages for console I/O
and the rest of the API:
http://msdn.microsoft.com/en-us/goglobal/bb688114.aspx#E2F
Attempt to workaround this by converting characters when they're read from
and written to the console. Not all possible paths are handled.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|