aboutsummaryrefslogtreecommitdiff
path: root/win32/popen.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* win32: proper conditional compilation in popen.cRon Yorston2022-04-231-9/+14
| | | | | | | | | | | In mingw_fork_compressor() the code to prefer applets over external programs should be conditionally compiled based on the setting of ENABLE_FEATURE_PREFER_APPLETS. In mingw_popen() there's no need to use ENABLE_FEATURE_SH_STANDALONE for the same purpose. ENABLE_FEATURE_PREFER_APPLETS is sufficient. Save a few bytes by sharing a format string in mingw_fork_compressor().
* tar: use external program for lzma/xz compressionRon Yorston2021-07-221-3/+9
| | | | | | | | | The lzma and xz applets don't support compression. Any attempt to generate a tar file using these compressors should try to use an external program. (Which probably won't work on a typical Windows system, but hey, at least we made the effort.) See GitHub issue #222.
* win32: move code to fork (de)compressor to a functionRon Yorston2020-08-051-0/+22
| | | | | | | | Use a new common function, mingw_fork_compressor(), to implement fork_transformer() in open_transformer.c and vfork_compressor() in tar.c. Saves 160 bytes.
* win32: don't leak pipe data structuresRon Yorston2018-04-071-58/+66
| | | | | | | | | | | | popen uses an array of pipe_data structures to record information that's later used by pclose. pclose releases the structure after use. The lower-level pipe function mingw_popen_fd was also using this array of structures but didn't provide any way to release them. Avoid this leak by letting mingw_popen_fd use a local structure instead.
* win32: tidy up popen implementationRon Yorston2018-03-151-206/+75
| | | | | | | | | Make mingw_popen_fd sufficiently general that it can be used to implement the other two popen routines. mingw_popen now just creates a command line and passes it to mingw_popen_fd. The one call to mingw_popen2 has been replaced by a call to mingw_popen_fd.
* wget: add support for httpsRon Yorston2018-03-151-0/+103
| | | | | | | | | | | | | | | | Allow wget to support https URLs. Changes are: - Add mingw_popen2 which uses a named pipe to allow bidirectional communication with a child process; - Modify ssl_client to accept a WIN32 handle instead of a file descriptor as an argument; - Allow tls_get_random to open /dev/urandom; - Using the above changes implement a WIN32 version of spawn_ssl_client in wget. This closes GitHub issue #75. Also, enable authentication in wget.
* win32: use built-in shell for popen, if possibleRon Yorston2018-02-181-2/+12
| | | | | | | | | | | | | | | popen uses the shell to run the command provided. If BusyBox has been configured appropriately use the built-in shell for this. - Currently the only user of popen in busybox-w32 is awk, which uses it when piping to or from commands. - If the command is available as an applet the shell will use it. If a different version of the program is required the command will need to specify the full path. - This change means that popen will work even if no shell is present on the path. - Since the binary may have been run as sh.exe or awk.exe it's necessary to use the magic --busybox option.
* win32: correct cast of argument to _open_osfhandleRon Yorston2016-05-251-4/+4
|
* mingw: add routine to pipe a file descriptor to/from a commandRon Yorston2015-05-271-18/+128
|
* Tidy up mingw_popenRon Yorston2014-05-151-59/+47
| | | | This also fixes piping output to a command in awk.
* win32: add popen implementation that uses shellRon Yorston2012-04-231-0/+220