bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] [PATCH 1/2] tar: set force_local_option to true on OS/2


From: KO Myung-Hun
Subject: Re: [Bug-tar] [PATCH 1/2] tar: set force_local_option to true on OS/2
Date: Sat, 22 Nov 2014 15:47:14 +0900
User-agent: Mozilla/5.0 (OS/2; Warp 4.5; rv:10.0.6esrpre) Gecko/20120715 Firefox/10.0.6esrpre SeaMonkey/2.7.2

Ping ?

KO Myung-Hun wrote:
> Hi/2.
> 
> Sergey Poznyakoff wrote:
>>> @@ -1362,6 +1362,10 @@ parse_opt (int key, char *arg, struct argp_state 
>>> *state)
>>>  {
>>>    struct tar_args *args = state->input;
>>>  
>>> +#ifdef __OS2__
>>> +    force_local_option = true;
>>> +#endif
>>> +
>>
>> Applying this will make it impossible to access remote archives.
>>
> 
> Ok. I've fixed rmt.h instead. But it is in paxutils. Here is the place
> for it ? I have some patches for paxutils.
> 
> Anyway I attach a patch for rmt.h of paxutils.
> 
> 
> 
> 0001-Check-if-dev_name-is-a-drive-letter.patch
> 
> 
> From a2ead57945e5b3a1e892774b30aacb46df744564 Mon Sep 17 00:00:00 2001
> From: KO Myung-Hun <address@hidden>
> Date: Tue, 18 Nov 2014 10:21:15 +0900
> Subject: [PATCH] Check if dev_name is a drive letter
> 
> On OS/2, 'x:' is a drive letter not a remote device.
> 
> * lib/rmt.h (_remdev): Check if dev_name is a drive letter.
> (_drivedev): New.
> ---
>  lib/rmt.h | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/rmt.h b/lib/rmt.h
> index ff10e7c..da46119 100644
> --- a/lib/rmt.h
> +++ b/lib/rmt.h
> @@ -35,10 +35,19 @@ extern bool force_local_option;
>     Distributed File System (DFS).  However, when --force-local, a
>     filename is never remote.  */
>  
> +#ifdef __OS2__
> +# define _drivedev(dev_name) \
> +  ((((dev_name)[0] >= 'a' && (dev_name)[0] <= 'z') || \
> +    ((dev_name)[0] >= 'A' && (dev_name)[0] <= 'Z')) && ((dev_name)[1] == 
> ':'))
> +#else
> +# define _drivedev(dev_name) 0
> +#endif
> +
>  #define _remdev(dev_name) \
>    (!force_local_option && (rmt_dev_name__ = strchr (dev_name, ':')) \
>     && rmt_dev_name__ > (dev_name) \
> -   && ! memchr (dev_name, '/', rmt_dev_name__ - (dev_name)))
> +   && ! memchr (dev_name, '/', rmt_dev_name__ - (dev_name)) \
> +   && ! _drivedev(dev_name))
>  
>  #define _isrmt(fd) \
>    ((fd) >= __REM_BIAS)

-- 
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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]