Commit Graph

667 Commits

Author SHA1 Message Date
Jason Edmeades 0b00b717b9 cmd: Add beginnings of support for delayed expansion. 2013-01-07 11:15:23 +01:00
Jason Edmeades 3735bf6af5 cmd: Avoid division by zero in set /a with %. 2013-01-07 11:14:24 +01:00
Francois Gouget f963f93964 Assorted spelling fixes. 2013-01-07 11:10:40 +01:00
Ann and Jason Edmeades 95279b87e4 cmd: Add set /a support. 2012-12-21 12:00:19 +01:00
Jason Edmeades 51c4411a15 cmd: Add more tests for set /a. 2012-12-21 11:45:31 +01:00
Jason Edmeades 836f3e4c29 cmd: Convert the set /a tests to validate better. 2012-12-21 11:45:18 +01:00
Frédéric Delanoy 5188f08bf4 cmd: Remove dead assignments (clang). 2012-12-20 12:00:45 +01:00
Frédéric Delanoy 40a69ae868 cmd: Remove dead assignment (clang). 2012-12-19 14:38:59 +01:00
Jason Edmeades 64d7151669 cmd: Wait for command to complete when spawned through cmd /c. 2012-11-30 11:44:09 +01:00
Jason Edmeades fc847f868c cmd: Change what 'ver' issues. 2012-11-28 20:14:54 +01:00
Jason Edmeades d71f5c9483 cmd: Prevent overflow for long command string. 2012-11-27 19:45:38 +01:00
Jason Edmeades d16f4e700b cmd: Add support for NUL in copy. 2012-11-20 11:53:15 +01:00
Jason Edmeades 2e92853091 cmd: Prevent external env vars causing tests to fail. 2012-11-20 11:53:10 +01:00
Jason Edmeades 47b35d5545 cmd: Add support for tokens= (for /f). 2012-11-20 11:46:40 +01:00
Jacek Caban 08c17ada57 cmd: Added HeapFree wrapper. 2012-11-16 11:40:36 +01:00
Jacek Caban c6d24089db cmd: Make allocation unfailable. 2012-11-15 21:21:53 +01:00
Frédéric Delanoy 250ce222b9 cmd/tests: Simplify 'if' comparison tests. 2012-11-07 11:57:51 +01:00
Jason Edmeades ae4571fb79 cmd: Fix for loops within for loops. 2012-11-06 16:02:41 +01:00
Jason Edmeades e26c2a5691 attrib: Add support for attrib /s. 2012-11-06 16:02:40 +01:00
Jason Edmeades 8e575940ad attrib: Support relative paths as args. 2012-11-06 16:02:39 +01:00
Jason Edmeades 7c3f3d09dd cmd: Don't overflow parameter length when copying substring. 2012-11-06 16:02:38 +01:00
Francois Gouget d55bb4497f Assorted spelling fixes. 2012-11-05 11:30:30 +01:00
Frédéric Delanoy 5108b18940 cmd: Fix some leaks (coverity). 2012-11-01 15:54:40 +01:00
Frédéric Delanoy 1d3f679ef1 cmd: Avoid handle leaks (coverity). 2012-10-30 19:14:37 +01:00
Francois Gouget 5f86884771 cmd: Make WCMD_forf_getinputhandle() static. 2012-10-29 10:47:02 +01:00
Frédéric Delanoy 16d5f457e2 cmd: Display a clearer error message for not found commands. 2012-10-26 16:42:34 +02:00
Frédéric Delanoy 90c6f57fa9 cmd: Add support for GTR comparison operator in if statements. 2012-10-26 12:01:45 +02:00
Frédéric Delanoy 73995c71e0 cmd: Add support for GEQ comparison operator in if statements. 2012-10-26 12:01:40 +02:00
Frédéric Delanoy 80f8d49b07 cmd: Add support for NEQ comparison operator in if statements. 2012-10-26 12:01:36 +02:00
Frédéric Delanoy 14cd4151a9 cmd: Add support for EQU comparison operator in if statements. 2012-10-26 12:01:31 +02:00
Frédéric Delanoy 78af04f427 cmd: Add support for LEQ comparison operator in if statements. 2012-10-26 12:01:25 +02:00
Frédéric Delanoy 154710a093 cmd: Add support for LSS comparison operator in if statements. 2012-10-26 12:01:18 +02:00
Frédéric Delanoy 17607b8020 cmd: Avoid using strstr to match == operator in WCMD_if. 2012-10-26 12:00:44 +02:00
Frédéric Delanoy dd13954424 cmd: Move common error reporting code in WCMD_if. 2012-10-26 12:00:41 +02:00
Frédéric Delanoy cee1652e61 cmd: Get rid of longer needed 'end' parameter in WCMD_parameter. 2012-10-26 11:59:58 +02:00
Frédéric Delanoy 517ed44396 cmd: Correctly set the 'raw' parameter in calls to WCMD_parameter in WCMD_if. 2012-10-26 11:59:54 +02:00
Jason Edmeades 51b0d941d0 cmd: Add for /f delims= support. 2012-10-24 11:30:43 +02:00
Jason Edmeades a45301cb93 cmd: Strip quotes from for /f string before attempting to parse it. 2012-10-24 11:30:40 +02:00
Jason Edmeades 182c5459b0 cmd: Correct for /f string and command set handling. 2012-10-24 11:30:36 +02:00
Jason Edmeades 9171fd1454 cmd: Add support for usebackq (for /f). 2012-10-24 11:30:11 +02:00
Jason Edmeades 293da2d06c cmd: Implement support for for /f eol=c option. 2012-10-24 11:29:43 +02:00
Jason Edmeades a3688948d0 cmd: Use a common function for the string parsing in for /f. 2012-10-24 11:29:22 +02:00
Jason Edmeades 84ecf34c2c cmd: Refactor building a list of directories out of WCMD_for. 2012-10-24 11:29:13 +02:00
Jason Edmeades d64298df99 cmd: Add support parsing for /f options and implement skip. 2012-10-24 11:29:06 +02:00
Frédéric Delanoy c5faceabd2 cmd/tests: Add tests for mixed number/stringified numbers comparisons in "if" statements. 2012-10-23 12:10:56 +02:00
Frédéric Delanoy 5888ad3537 cmd/tests: Add tests for GTR comparison operator in "if" statements. 2012-10-23 12:10:52 +02:00
Frédéric Delanoy 43f5471cba cmd/tests: Add tests for GEQ comparison operator in "if" statements. 2012-10-23 12:10:49 +02:00
Frédéric Delanoy 8e3227c824 cmd/tests: Add tests for NEQ comparison operator in "if" statements. 2012-10-23 12:10:45 +02:00
Frédéric Delanoy a0a61cb592 cmd/tests: Add tests for EQU comparison operator in "if" statements. 2012-10-23 12:10:41 +02:00
Frédéric Delanoy ac52924d44 cmd/tests: Add tests for LEQ comparison operator in "if" statements. 2012-10-23 12:10:38 +02:00
Frédéric Delanoy e3b5b6fd14 cmd/tests: Add tests for LSS comparison operator in "if" statements. 2012-10-23 12:10:32 +02:00
Akihiro Sagawa 8daef1649b cmd: Properly handle multibyte characters in batch files. 2012-10-22 12:23:26 +02:00
Francois Gouget ed9e745580 Assorted spelling tweaks and fixes. 2012-10-22 12:21:55 +02:00
Jason Edmeades 3c05818515 cmd: Add support for calling a built in command. 2012-10-17 11:59:34 +02:00
Jason Edmeades 9f83165efb cmd: Rename parameter passed to builtin calls. 2012-10-17 11:57:35 +02:00
Jason Edmeades dccccfc273 cmd: Handle very odd delimiter support for command line. 2012-10-17 11:57:23 +02:00
Jason Edmeades f45f75ca7d cmd: %* expands to first non-whitespace delimiter of first arg. 2012-10-16 11:45:13 +02:00
Jason Edmeades 4236c2007d cmd: Identify the program name using more appropriate parsing. 2012-10-16 11:44:49 +02:00
Jason Edmeades 25cf0aa046 cmd: cmd /c "pgmname" searches all extensions on PATHEXT. 2012-10-16 11:44:32 +02:00
Jason Edmeades 130cdcd727 cmd: Add full support for copy concatenation and ascii/binary. 2012-10-15 15:25:22 +02:00
Jason Edmeades 260210f6e6 cmd: Support copy to an 'ascii' destination. 2012-10-15 15:25:20 +02:00
Jason Edmeades a65314c8fa cmd: Add suite of tests for the copy command. 2012-10-15 15:25:16 +02:00
Jason Edmeades 8f019b1111 cmd: Fix some issues with ~ modifier expansion. 2012-10-15 15:25:14 +02:00
Jason Edmeades 7b9971abf9 cmd: Rework the body of WCMD_copy based on new parameter parsing. 2012-10-15 15:25:10 +02:00
Jason Edmeades 89b8868ae0 cmd: Rework parameter parsing for WCMD_Copy. 2012-10-15 15:25:07 +02:00
Jason Edmeades 270163f380 cmd: Fix regression around prompting during copy. 2012-10-15 15:25:05 +02:00
Frédéric Delanoy 3803134fce cmd/tests: Add tests for command line parsing.
Adapted from original patch by Martin Wilck <mwilck@arcor.de>.
2012-10-11 20:38:46 +02:00
Frédéric Delanoy 0ab71a42b4 cmd/tests: Move command line tests to separate file. 2012-10-11 20:37:59 +02:00
Jason Edmeades f252e9dfc8 cmd: Change command line parsing away from argv/argc. 2012-10-03 11:24:13 +02:00
Jason Edmeades 88f14bb590 cmd: Fix basic cmd.exe /c "echo hello" type syntax.
Add checks for existance of command to run in order to keep the
new quote handling capabilities of cmd.exe /C or /K. If the command
cannot be found, drop back to /S processing mode as per cmd.exe help.
2012-10-02 14:08:36 +02:00
Jason Edmeades b1dacc6c37 cmd: cmd.exe /c or /k should suppress copy overwrite prompts. 2012-10-02 14:08:36 +02:00
Jason Edmeades 4e10456bf6 cmd: Ensure current directory saved during cmd /c. 2012-10-01 14:31:33 +02:00
Jason Edmeades c55cd87632 cmd: Fix setlocal/endlocal implementation. 2012-10-01 14:30:49 +02:00
Jason Edmeades 9dde62cb96 cmd: Add full for /R support. 2012-10-01 14:29:58 +02:00
Jason Edmeades 8fbd65358e cmd: Convert wcmd_for to use WCMD_parameter. 2012-10-01 14:24:48 +02:00
Francois Gouget 906127fe29 Assorted spelling fixes. 2012-10-01 12:07:41 +02:00
Frédéric Delanoy c5a4878f5f cmd: Reuse common string constants. 2012-09-28 17:14:38 +02:00
Frédéric Delanoy 8b3d494247 cmd: Spelling fixes. 2012-09-28 17:14:34 +02:00
Jason Edmeades cd9451c499 cmd: Display 'set' sort ordering correctly. 2012-09-26 17:49:23 +02:00
Jason Edmeades a810e41e47 cmd: Echo back command with whitespace removed first. 2012-09-26 17:49:11 +02:00
Jason Edmeades 2ff533c1f2 cmd: Support for ^ character at end of line.
Based on a patch by John Chow.
2012-09-26 17:48:59 +02:00
Jason Edmeades d8c0fbcedc cmd: Add circumflex support into command shell. 2012-09-26 17:48:24 +02:00
Jason Edmeades e35b239b41 cmd: Fix parameterization around delimiters. 2012-09-26 17:47:20 +02:00
Francois Gouget 5f55a71b70 Assorted spelling fixes. 2012-09-24 22:27:29 +02:00
Jason Edmeades ebd1810918 cmd: Space does not delimit environment variable names. 2012-09-06 18:23:40 +02:00
Jason Edmeades f9b4c78a89 cmd: A successful set should reset the errorlevel. 2012-09-06 18:23:40 +02:00
Jason Edmeades 9877b53b8c cmd: Fix incorrect pointer comparison. 2012-09-05 21:56:55 +02:00
Jason Edmeades 141e33b845 cmd: More generic zero iteration for loop fix. 2012-09-05 21:56:52 +02:00
Jason Edmeades 4f71f4af59 cmd: Fix "PATH=value" command. 2012-09-05 13:25:24 +02:00
Jason Edmeades c5a72379a1 cmd: Fix renaming inside directories. 2012-09-04 15:04:01 +02:00
Jason Edmeades 94f9e789c9 cmd: Fix rmdir error during recursive delete. 2012-09-04 15:03:44 +02:00
Jason Edmeades 1a9413b98a cmd: for /l with zero iterations failed to skip its commands. 2012-09-03 15:51:26 +02:00
Jason Edmeades 3a25888f38 cmd: for loops did not respect boundaries. 2012-09-03 15:51:20 +02:00
Francois Gouget e0f4d5caf9 start: Fix the command line handling. 2012-06-28 01:38:40 +02:00
Frédéric Delanoy 0f032203f5 cmd: Improve WCMD_parameter documentation. 2012-05-16 20:27:28 +02:00
Frédéric Delanoy 0e4ceb9a8d cmd: Use BOOL instead of int for boolean variables. 2012-03-29 20:49:18 +02:00
Christian Costa 6533168089 cmd/tests: If we rewind to the beginning of the line, don't increment line number. 2012-03-27 13:58:19 +02:00
Christian Costa 6520f19181 attrib: Dislay attribute flags in the right order. 2012-03-27 13:57:38 +02:00
Christian Costa a4e2f1d42a attrib: Add 2 missing spaces between attribute flags and filename. 2012-03-27 13:56:37 +02:00
Francois Gouget da7e97bbe5 start: Remove the license and the /L option. 2012-03-01 17:29:10 +01:00