Commit Graph

685 Commits

Author SHA1 Message Date
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
Frédéric Delanoy 668e44ab26 cmd: Respect constant wide strings naming convention. 2012-02-13 12:29:34 +01:00
Frédéric Delanoy 7cf307a7bd cmd: Reuse common string constants. 2012-02-13 12:29:30 +01:00
Frédéric Delanoy 7e6e783cbb cmd: Add short help for START command. 2012-02-11 19:11:54 +01:00
Alexandre Julliard 3c8d8f1e95 cmd: START needs to be an internal command. 2012-02-11 16:12:01 +01:00
Francois Gouget 02b12e1117 programs: Standardize references to the <Enter> key. 2012-01-25 11:53:06 +01:00
Francois Gouget af3d368aca cmd: Fix an internationalization issue in WCMD_ask_confirm().
Don't break the strings to translate in little chunks: this makes it
hard or even impossible to translate them correctly. For instance it
must be possible to insert an unbreakable space before question marks
for French.
2012-01-23 19:42:54 +01:00
Francois Gouget c2a9aae4ca cmd: Fix asking for a Yes / No / All confirmation. 2012-01-23 19:42:52 +01:00
Francois Gouget 774eb34e36 cmd: Remove an unused variable. 2012-01-23 19:42:52 +01:00
Alexandre Julliard c9eee73450 makefiles: Define __WINESRC__ when building programs. 2012-01-23 16:07:37 +01:00
Francois Gouget 34c0b74ace cmd: A few usage message tweaks and fixes. 2012-01-23 16:07:28 +01:00
Alexandre Julliard da35622b83 makefiles: Disable use of Unicode macros globally for all the programs. 2012-01-20 13:14:16 +01:00
Frédéric Delanoy 0b358703ca cmd: Avoid unreachable code (Coverity). 2012-01-03 19:28:22 +01:00
Frédéric Delanoy dbdf927e74 cmd: Merge two if blocks. 2011-12-20 20:24:10 +01:00
Francois Gouget eb109f46e3 cmd: Avoid hardcoding the Unicode string literal lengths. 2011-12-16 17:40:48 +01:00
Akihiro Sagawa 8a00eb8609 cmd: Improve the message when the volume has no label. 2011-12-15 17:46:31 +01:00
Frédéric Delanoy 15f65a0792 cmd: Avoid dead assignment (Clang). 2011-12-07 17:50:03 +01:00
Frédéric Delanoy 0eec6b5de0 cmd: Avoid duplication of commonly used strings. 2011-12-07 17:49:57 +01:00
Francois Gouget 8ef901fa32 cmd: Use FormatMessage() for better internationalization support.
This makes it possible to reorder the format string placeholders in message translations.
2011-12-06 18:23:49 +01:00
Francois Gouget bc176ecb81 cmd: Print error messages on stderr, not on stdout. 2011-12-02 11:53:23 +01:00
Francois Gouget 66db270d22 cmd/tests: Use resynchronization points to better deal with two IF statements tests. 2011-11-30 16:41:12 +01:00
Frédéric Delanoy a5becedd0e cmd: Reorder global vars declarations/definitions to improve readability. 2011-11-30 11:44:13 +01:00
Frédéric Delanoy 44a1e7d199 cmd: Move commonly used global vars declarations to header file. 2011-11-30 11:44:05 +01:00
Frédéric Delanoy ad81871f15 cmd: Move a global var to the file using it. 2011-11-30 11:43:21 +01:00
Frédéric Delanoy 513ee9a3aa cmd: Rename unicodePipes variable. 2011-11-29 16:48:33 +01:00
Frédéric Delanoy 1a8df977ac cmd: Reduce the scope of a global variable. 2011-11-29 16:48:22 +01:00
Frédéric Delanoy 51b05c72d7 cmd: Use boolean types for boolean variables. 2011-11-29 16:48:12 +01:00
Frédéric Delanoy 2820ed9764 cmd: Remove an unused global variable. 2011-11-29 16:47:58 +01:00
Francois Gouget 87a770fa73 cmd/tests: Tweak subsection headers so they are treated as resynchronization points. 2011-11-29 13:56:24 +01:00
Francois Gouget 128d0656de cmd/tests: Standardize the batch file section headers. 2011-11-29 13:56:12 +01:00
Francois Gouget 81f64ee906 cmd/tests: Treat lines that start with '---' as resynchronization points. 2011-11-29 13:56:03 +01:00
Eric Pouech 6faea5a606 cmd: Correctly parse program name when launching external processes. 2011-11-29 13:25:55 +01:00
Francois Gouget 3b72928464 cmd: Use WCMD_output_asis*() for strings that are not supposed to contain formating directives. 2011-11-25 17:16:11 +01:00
Frédéric Delanoy 3d028ab67c cmd: Avoid dead assignment (clang). 2011-11-24 20:57:01 +01:00
Frédéric Delanoy de7841b2ce cmd: Move builtins list to builtins.c. 2011-11-21 15:34:58 +01:00
Frédéric Delanoy e3a5423478 cmd: Move WCMD_part_execute function to avoid forward declaration. 2011-11-18 15:37:04 +01:00
Frédéric Delanoy 5fc25686a4 cmd: Avoid duplication of commonly used strings. 2011-11-15 11:45:58 +01:00
Frédéric Delanoy e8d8df3c54 cmd: Trim whitespace in echo on/off. 2011-11-15 11:44:40 +01:00
Frédéric Delanoy 6221e300bc cmd: Avoid comparison between signed and unsigned values. 2011-11-08 13:55:14 +01:00
Frédéric Delanoy 6d01f15a27 cmd: Rename a parameter in WCMD_parameter. 2011-10-31 16:48:33 +01:00
Frédéric Delanoy 41a9450440 cmd: Avoid unnecessary null pointer checks. 2011-10-31 16:48:26 +01:00
Frédéric Delanoy ecc4d87253 cmd: Fix a comment. 2011-10-28 12:47:10 +02:00
Frédéric Delanoy 45c1dff552 cmd: Make 'if errorlevel' only recognize integer values. 2011-10-28 12:43:27 +02:00
Frédéric Delanoy 42f126e80d cmd: Constify WCMD_pushd parameter. 2011-10-21 12:31:46 +02:00
Frédéric Delanoy d19455e895 cmd: Rename WCMD_opt_s_strip_quotes function. 2011-10-19 16:38:52 +02:00
Frédéric Delanoy 6fd9d77426 cmd: Make RENAME work for read-only files. 2011-10-14 20:26:43 +02:00
Frédéric Delanoy d5523fcd80 cmd/tests: Show that read-only files are RENAMEable. 2011-10-14 20:26:43 +02:00
Frédéric Delanoy 1f5c0a6170 cmd/tests: Add tests for directories RENAMEs. 2011-10-14 20:26:43 +02:00
Frédéric Delanoy 1e4c17e5dd cmd: Make MOVE work for read-only files. 2011-10-13 20:07:28 +02:00
Frédéric Delanoy ad9ae2b8ff cmd/tests: Show that read-only files are MOVEable. 2011-10-13 20:07:26 +02:00
Frédéric Delanoy 212949f108 cmd/tests: Add MOVE tests. 2011-10-11 19:43:47 +02:00
Frédéric Delanoy e0ec3e400d cmd: Make PAUSE accept any keypress instead of a full input line. 2011-10-08 19:47:10 +02:00
Frédéric Delanoy 1361529289 cmd: Consistently use infinitive forms in commands help summary. 2011-10-08 19:41:39 +02:00
Frédéric Delanoy cd30c52b35 cmd: Avoid reading char by char from files. 2011-10-06 16:46:41 -05:00
Frédéric Delanoy 5e3cb1867b cmd: Infer handle type from handle value in WCMD_fgets and WCMD_ReadAndParseLine. 2011-10-06 16:46:41 -05:00
Frédéric Delanoy d25f614c51 cmd: Rename a parameter in WCMD_fgets. 2011-10-05 17:00:12 -05:00
Frédéric Delanoy 63e11558b6 cmd: Improve handle type recognition in WCMD_ReadFile. 2011-10-05 16:59:48 -05:00
Frédéric Delanoy e2fd09c2e7 cmd: Avoid dead assignments (Clang). 2011-10-05 16:59:18 -05:00
Frédéric Delanoy 5e8893f2f6 cmd: Handle truncation for console reads. 2011-10-03 09:46:11 -05:00
Frédéric Delanoy e3a72698c1 cmd: Improve WCMD_fgets documentation. 2011-10-03 09:45:49 -05:00
Frédéric Delanoy aee397a317 cmd: Output error messages to stderr instead of stdout where appropriate. 2011-10-03 09:45:43 -05:00
Frédéric Delanoy f00aafae85 cmd/tests: Don't convert lines with DOS endings in convert_input_data. 2011-09-28 17:29:45 +02:00
Frédéric Delanoy 29b57ca82d cmd: Get rid of unused parameter in WCMD_ReadFile. 2011-09-28 17:29:24 +02:00
Frédéric Delanoy d6f4f7308a cmd: Avoid checking whether we're in console mode for every read. 2011-09-28 17:29:10 +02:00
Frédéric Delanoy a7e1c22a48 cmd: Avoid reading char by char from console. 2011-09-28 17:27:08 +02:00
Frédéric Delanoy bab0aa765b cmd: Fix comments in WCMD_color. 2011-09-27 16:24:26 +02:00
Frédéric Delanoy 83daee9a89 cmd: Fix WCMD_fgets documentation. 2011-09-26 22:42:01 +02:00
Frédéric Delanoy 9c61656307 cmd: Output error messages to stderr where appropriate. 2011-09-26 22:42:01 +02:00
Frédéric Delanoy fbddecab77 cmd: Add WCMD_output_stderr function to output error messages to stderr. 2011-09-26 22:42:01 +02:00
Frédéric Delanoy e5565a6d64 cmd: Use helper function to return file io buffer. 2011-09-26 22:42:01 +02:00
Frédéric Delanoy a536004f34 cmd: Improve WCMD_volume documentation. 2011-09-23 12:43:53 +02:00
Frédéric Delanoy e9a8b751b5 cmd: Standardize BOOL type usage in directory.c. 2011-09-23 12:43:44 +02:00
Frédéric Delanoy c4db72f50e cmd: verify_mode has BOOL type instead of int. 2011-09-16 17:24:19 +02:00
Frédéric Delanoy b3561bf82e cmd: echo_mode has BOOL type instead of int. 2011-09-16 17:24:18 +02:00
Frédéric Delanoy bf63385fab cmd: Remove unused declarations of echo_mode. 2011-09-16 17:24:15 +02:00
Frédéric Delanoy cf826fe010 cmd/tests: Add RENAME tests. 2011-09-15 15:41:40 +02:00
Frédéric Delanoy ad064b44ed cmd/tests: Add tests for SHIFT builtin. 2011-09-14 17:27:24 +02:00
Frédéric Delanoy 9bf515974d cmd: Make some variables static. 2011-09-14 17:27:20 +02:00
Frédéric Delanoy 8fff969ce6 cmd/tests: Segment mkdir tests for an easier read. 2011-09-13 17:17:55 +02:00
Frédéric Delanoy 195ee2f377 cmd/tests: Add tests for combined CALLs/GOTOs. 2011-09-12 16:49:56 +02:00
Frédéric Delanoy a33bad1edd cmd: Allow a batch file to delete itself. 2011-09-12 16:49:56 +02:00
Frédéric Delanoy cb63445b5e cmd: Show that windows doesn't lock/prevent access to batch file during execution. 2011-09-12 16:49:56 +02:00
Christian Costa faa23d2a16 cmd: Move externals list at the same place as the builtins one so it's easier to known how a command is implemented. 2011-09-12 11:10:53 +02:00