Subject: bug#19377: bug#19378: [PATCH 3/4] cat, chcon, chgrp, chmod, chown, cp, du, head: support wildcards on OS/2

From: KO Myung-Hun <[email-masked]>
Date: Tue, 16 Dec 2014 11:00:10 +0900

Pádraig Brady wrote:
> On 15/12/14 01:15, KO Myung-Hun wrote:
>>
>>
>> Pádraig Brady wrote:
>>> forcemerge 19378 19377
>>> stop
>>>
>>> On 14/12/14 03:47, KO Myung-Hun wrote:
>>>> And ln,ls,mv,rm,tail.
>>>>
>>>> * src/cat.c (main): Expand wildcards on OS/2.
>>>> * src/chcon.c (main): Likewise.
>>>> * src/chgrp.c (main): Likewise.
>>>> * src/chmod.c (main): Likewise.
>>>> * src/chown.c (main): Likewise.
>>>> * src/cp.c (main): Likewise.
>>>> * src/du.c (main): Likewise.
>>>> * src/head.c (main): Likewise.
>>>> * src/ln.c (main): Likewise.
>>>> * src/ls.c (main): Likewise.
>>>> * src/mv.c (main): Likewise.
>>>> * src/rm.c (main): Likewise.
>>>> * src/tail.c (main): Likewise.
>>>>
>>>> Patches from coreutils 8.8 by Paul Smedley.
>>>
>>>> diff --git a/src/cat.c b/src/cat.c
>>>> index c7bb7e1..0138114 100644
>>>> --- a/src/cat.c
>>>> +++ b/src/cat.c
>>>> @@ -544,6 +544,10 @@ main (int argc, char **argv)
>>>>    bool show_tabs = false;
>>>>    int file_open_mode = O_RDONLY;
>>>>  
>>>> +#ifdef __OS2__
>>>> +  _wildcard (&argc, &argv);
>>>> +#endif
>>>> +
>>>
>>> Interesing, the OS/2 shell doesn't doe the globbing.
>>
>> Ported unixy shells(sh) support it, but OS/2 default shell(CMD) does not.
>>
>>> I'm wondering about the scalability of this.
>>> Are there any facilities for dealing with arbitrary numbers
>>> of files, like with xargs for example?
>>
>> No. It always processes all files.
>>
>>> What are the practical limits of the number of files?
>>
>> It's up to a free memory.
>>
>>> Does _wildcard() exit with an error in this case?
>>>
>>
>> Call exit(255) with printing an error message.
>>
> 
> While the adjustment is small, it would be better to avoid the ifdef in all programs.
> I think there is a -Zwildcard option to auto enable for all programs?

Good guess. -Zargs-wild.

> Also is there an option to disable this expansion at runtime
> (which should be documented if available).

What do you mean by 'at runtime' ? On command line ? Or a function
opposite to _wildcard() ?

In the former, escaping like unixy shells is used.

In the latter, no functions.

> For example to allow deleting a file called '*', which seems like a more likely
> occurrence on this platform.
> 

both '*' and '?' are illegal for a filename on OS/2.

-- 
KO Myung-Hun

Using Mozilla SeaMonkey 2.7.2
Under OS/2 Warp 4 for Korean with FixPak #15
In VirtualBox v4.1.32 on Intel Core i7-3615QM 2.30GHz with 8GB RAM

Korean OS/2 User Community : http://www.ecomstation.co.kr