slice2cs reports: "input files must end with `.ice'" when given a wildcard argument

in Bug Reports
Platform: Windows
Version: Ice 3.2.1.
To reproduce:
Create any normal ice file.
Type in "slice2cs *.ice" on the command line
Note the error message.
Note that a valid .cs file is still produced.
Everything is fine except for the error message, which leads you to think that the program did not work when in fact it did.
Example:
T:\felix_grid_server\grid_interfaces\src\IceFiles>dir
Volume in drive T is DATA
Volume Serial Number is 4CC3-C718
Directory of T:\felix_grid_server\grid_interfaces\src\IceFiles
16/07/2008 15:50 <DIR> .
16/07/2008 15:50 <DIR> ..
16/07/2008 14:53 111 GridGateway.ice
16/07/2008 14:52 109 GridGateway.ice~
2 File(s) 220 bytes
2 Dir(s) 6,406,430,720 bytes free
T:\felix_grid_server\grid_interfaces\src\IceFiles>t:\thirdparty_libs\zerocIce\Ice-3.2.1\bin\slice2cs *.ice
t:\thirdparty_libs\zerocIce\Ice-3.2.1\bin\slice2cs: input files must end with `.ice'
T:\felix_grid_server\grid_interfaces\src\IceFiles>dir
Volume in drive T is DATA
Volume Serial Number is 4CC3-C718
Directory of T:\felix_grid_server\grid_interfaces\src\IceFiles
16/07/2008 15:52 <DIR> .
16/07/2008 15:52 <DIR> ..
16/07/2008 15:52 18,773 GridGateway.cs
16/07/2008 14:53 111 GridGateway.ice
16/07/2008 14:52 109 GridGateway.ice~
3 File(s) 18,993 bytes
2 Dir(s) 6,406,410,240 bytes free
Version: Ice 3.2.1.
To reproduce:
Create any normal ice file.
Type in "slice2cs *.ice" on the command line
Note the error message.
Note that a valid .cs file is still produced.
Everything is fine except for the error message, which leads you to think that the program did not work when in fact it did.
Example:
T:\felix_grid_server\grid_interfaces\src\IceFiles>dir
Volume in drive T is DATA
Volume Serial Number is 4CC3-C718
Directory of T:\felix_grid_server\grid_interfaces\src\IceFiles
16/07/2008 15:50 <DIR> .
16/07/2008 15:50 <DIR> ..
16/07/2008 14:53 111 GridGateway.ice
16/07/2008 14:52 109 GridGateway.ice~
2 File(s) 220 bytes
2 Dir(s) 6,406,430,720 bytes free
T:\felix_grid_server\grid_interfaces\src\IceFiles>t:\thirdparty_libs\zerocIce\Ice-3.2.1\bin\slice2cs *.ice
t:\thirdparty_libs\zerocIce\Ice-3.2.1\bin\slice2cs: input files must end with `.ice'
T:\felix_grid_server\grid_interfaces\src\IceFiles>dir
Volume in drive T is DATA
Volume Serial Number is 4CC3-C718
Directory of T:\felix_grid_server\grid_interfaces\src\IceFiles
16/07/2008 15:52 <DIR> .
16/07/2008 15:52 <DIR> ..
16/07/2008 15:52 18,773 GridGateway.cs
16/07/2008 14:53 111 GridGateway.ice
16/07/2008 14:52 109 GridGateway.ice~
3 File(s) 18,993 bytes
2 Dir(s) 6,406,410,240 bytes free
0
Comments
Dwayne
T:\felix_grid_server\grid_interfaces\src\IceFiles>dir
Volume in drive T is DATA
Volume Serial Number is 4CC3-C718
Directory of T:\felix_grid_server\grid_interfaces\src\IceFiles
16/07/2008 16:46 <DIR> .
16/07/2008 16:46 <DIR> ..
16/07/2008 14:53 111 GridGateway.ice
16/07/2008 14:52 109 GridGateway.ice~
2 File(s) 220 bytes
2 Dir(s) 6,366,867,456 bytes free
T:\felix_grid_server\grid_interfaces\src\IceFiles>c:\Ice-3.3.0\bin\slice2cs *.ice
c:\Ice-3.3.0\bin\slice2cs: input files must end with `.ice'
T:\felix_grid_server\grid_interfaces\src\IceFiles>dir
Volume in drive T is DATA
Volume Serial Number is 4CC3-C718
Directory of T:\felix_grid_server\grid_interfaces\src\IceFiles
16/07/2008 16:46 <DIR> .
16/07/2008 16:46 <DIR> ..
16/07/2008 16:46 17,396 GridGateway.cs
16/07/2008 14:53 111 GridGateway.ice
16/07/2008 14:52 109 GridGateway.ice~
3 File(s) 17,616 bytes
2 Dir(s) 6,366,846,976 bytes free
What test were you conducting to conclude that this is fixed in Ice 3.3.0?
Dwayne
I am sorry for hijacking this thread but a question to Mr. Collingsworth. Are you the same Paul Collingsworth that used to frequent the discuss.develop.com mailing lists in the glory days of COM/DCOM/ATL when Don Box was still with Developmentor and Al Major/Michael Nelson were still around?
There is no wildcard expansion inside slice2cs. It simply processes its arguments and, if it sees something that doesn't end with ".ice", it complains.
Presumably, the cmd shell incorrectly expands "*.ice" to include the backup ".ice~" file name, which doesn't end in ".ice", hence the complaint. You can easily test this by checking the output produced by "echo *.ice" in the same cmd shell.
Cheers,
Michi.
On Windows, you link with setargv.obj to get the wildcard expansion. We do link with setargv.obj for slice2cs. So, I'd say this is a bug in setargv.obj.
You could drop some trace in the main() and print out what is actually passed to the compiler. That will narrow it at least.
Cheers,
Michi.
T:\felix_grid_server\grid_interfaces\src\IceFiles>dir *.ice
Volume in drive T is DATA
Volume Serial Number is 4CC3-C718
Directory of T:\felix_grid_server\grid_interfaces\src\IceFiles
16/07/2008 14:53 111 GridGateway.ice
16/07/2008 14:52 109 GridGateway.ice~
2 File(s) 220 bytes
0 Dir(s) 6,532,702,208 bytes free
dir *.ice~
I don't think there is much we could do about this. Who knows what other errors are present in the wildcard expansion...
Cheers,
Michi.