904ef5a32d18b58aabaf0a7c39b675f3c8696310
[reactos.git] / reactos / subsys / system / cmd / todo.txt
1 Things to do
2 ~~~~~~~~~~~~
3 *Implmenet Set /P
4 This is pretty straight forward. When doing this make sure to take into account the way MS handles "set /A /P foo=5" compared to "set /P /A foo=5".
5
6 *Compile as unicode
7 Not sure what is wrong with it, put probably more then just one thing blocking this. For sure pipes break when it is compiled as unicode.
8
9 *Move.c code clean up
10 It works, but it needs to be cleaned up, the code is long and overly complex for what it needs to do. Also, we can remove the hack to cover for MoveFileEx bug as it isnt a bug anymore.
11
12 *If rewrite
13 It works decent but looks _awful_. Very hard to maintain and/or understand what the hell is going on.
14
15 *Remove Hardcoded buffers
16 This is mostly done thanks to Greatlord(cmd.c is the hardest spot that is left). ANytime when you are handling a string that is taken from the commandline there should be no limit to the size.
17
18 *Implment & and &&
19 & runs two commands no matter what.
20 && runs the 2nd command only if the first was a success
21 Not sure where to put this code even
22
23 *mkdir needs recurvisly create folders
24 When doing "mkdir c:\windows\foo\bar\foofoo" where foo, bar, and foofoo are not folders, it will create all the folders to that a vaild path
25
26 *Correct Error checking
27 A lot of commands on failure just spit out GetLastError instead of looking for the real cause. It should give a better output to give at least some kinda clue what is wrong.
28
29 *Reg Testing
30 We need more batch files like the one Royce made for "set /a". What out for if bugs when doing this... could lead to in the wrong direction when looking for a regression.
31
32 *Remove dependance on __REACTOS__
33 __REACTOS__ = 0 doesnt compile and is useless. __REACTOS__ = 1 has been the default and works just fine on windows.
34
35 *Add Breaker
36 THere is partly code in place for this already. However it is broken and not finished. PocketCMD which is open source and based off ros cmd does do this correctly though. So there is something to look at and see how it can be done. though it is hard to find where they are doing it even though they are based on eachother they look pretty different now a days.