Re: patch to fix bashism

2005-04-09 Thread David Weinehall
On Fri, Apr 08, 2005 at 11:11:38PM +0159, Han Boetes wrote:
> Hi,
> 
> This patch fixes a three bashisms in
> scripts/gen_initramfs_list.sh;
> 
> I'm not sure of the intention of the second change (local
> name=...). So it's very well possible that:
> 
> +   local name="${location%/$srcdir}"
> 
> is more appropriate.

This patch is not going to work; local is a bash:ism too, hence this
will fail when /bin/sh is a more strict POSIX-shell.  However,
it is quite likely that the use of local is merely due to the
(totally correct) instinct of always limiting the scope of variables.
Most scripts that I've POSIX-fixed so far could just have the local
removed with no bad effects.

> --- scripts/gen_initramfs_list.sh.orig2005-03-27 14:53:15.628883408 
> +0200
> +++ scripts/gen_initramfs_list.sh 2005-03-27 15:12:20.093898280 +0200
> @@ -1,4 +1,7 @@
> -#!/bin/bash
> +#!/bin/sh
> +
> +# script is sourced, the shebang is ignored.
> +
>  # Copyright (C) Martin Schlemmer <[EMAIL PROTECTED]>
>  # Released under the terms of the GNU GPL
>  #
> @@ -56,9 +59,9 @@
>  
>  parse() {
>   local location="$1"
> - local name="${location/${srcdir}//}"
> + local name="${location#$srcdir/}"
>   # change '//' into '/'
> - name="${name//\/\///}"
> + name=`echo $name|sed -e 's|//|/|g'`

Using $(...) instead of `...` helps readability quite a lot for
things like this...

[snip]


Regards: David Weinehall
-- 
 /) David Weinehall <[EMAIL PROTECTED]> /) Northern lights wander  (\
//  Maintainer of the v2.0 kernel   //  Dance across the winter sky //
\)  http://www.acc.umu.se/~tao/(/   Full colour fire   (/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: patch to fix bashism

2005-04-09 Thread David Weinehall
On Fri, Apr 08, 2005 at 11:11:38PM +0159, Han Boetes wrote:
 Hi,
 
 This patch fixes a three bashisms in
 scripts/gen_initramfs_list.sh;
 
 I'm not sure of the intention of the second change (local
 name=...). So it's very well possible that:
 
 +   local name=${location%/$srcdir}
 
 is more appropriate.

This patch is not going to work; local is a bash:ism too, hence this
will fail when /bin/sh is a more strict POSIX-shell.  However,
it is quite likely that the use of local is merely due to the
(totally correct) instinct of always limiting the scope of variables.
Most scripts that I've POSIX-fixed so far could just have the local
removed with no bad effects.

 --- scripts/gen_initramfs_list.sh.orig2005-03-27 14:53:15.628883408 
 +0200
 +++ scripts/gen_initramfs_list.sh 2005-03-27 15:12:20.093898280 +0200
 @@ -1,4 +1,7 @@
 -#!/bin/bash
 +#!/bin/sh
 +
 +# script is sourced, the shebang is ignored.
 +
  # Copyright (C) Martin Schlemmer [EMAIL PROTECTED]
  # Released under the terms of the GNU GPL
  #
 @@ -56,9 +59,9 @@
  
  parse() {
   local location=$1
 - local name=${location/${srcdir}//}
 + local name=${location#$srcdir/}
   # change '//' into '/'
 - name=${name//\/\///}
 + name=`echo $name|sed -e 's|//|/|g'`

Using $(...) instead of `...` helps readability quite a lot for
things like this...

[snip]


Regards: David Weinehall
-- 
 /) David Weinehall [EMAIL PROTECTED] /) Northern lights wander  (\
//  Maintainer of the v2.0 kernel   //  Dance across the winter sky //
\)  http://www.acc.umu.se/~tao/(/   Full colour fire   (/
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


patch to fix bashism

2005-04-08 Thread Han Boetes
Hi,

This patch fixes a three bashisms in
scripts/gen_initramfs_list.sh;

I'm not sure of the intention of the second change (local
name=...). So it's very well possible that:

+   local name="${location%/$srcdir}"

is more appropriate.


--- scripts/gen_initramfs_list.sh.orig  2005-03-27 14:53:15.628883408 +0200
+++ scripts/gen_initramfs_list.sh   2005-03-27 15:12:20.093898280 +0200
@@ -1,4 +1,7 @@
-#!/bin/bash
+#!/bin/sh
+
+# script is sourced, the shebang is ignored.
+
 # Copyright (C) Martin Schlemmer <[EMAIL PROTECTED]>
 # Released under the terms of the GNU GPL
 #
@@ -56,9 +59,9 @@
 
 parse() {
local location="$1"
-   local name="${location/${srcdir}//}"
+   local name="${location#$srcdir/}"
# change '//' into '/'
-   name="${name//\/\///}"
+   name=`echo $name|sed -e 's|//|/|g'`
local mode="$2"
local uid="$3"
local gid="$4"
@@ -68,8 +71,8 @@
[ "$gid" -eq "$root_gid" ] && gid=0
local str="${mode} ${uid} ${gid}"
 
-   [ "${ftype}" == "invalid" ] && return 0
-   [ "${location}" == "${srcdir}" ] && return 0
+   [ "${ftype}" = "invalid" ] && return 0
+   [ "${location}" = "${srcdir}" ] && return 0
 
case "${ftype}" in
"file")



# Han
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


patch to fix bashism

2005-04-08 Thread Han Boetes
Hi,

This patch fixes a three bashisms in
scripts/gen_initramfs_list.sh;

I'm not sure of the intention of the second change (local
name=...). So it's very well possible that:

+   local name=${location%/$srcdir}

is more appropriate.


--- scripts/gen_initramfs_list.sh.orig  2005-03-27 14:53:15.628883408 +0200
+++ scripts/gen_initramfs_list.sh   2005-03-27 15:12:20.093898280 +0200
@@ -1,4 +1,7 @@
-#!/bin/bash
+#!/bin/sh
+
+# script is sourced, the shebang is ignored.
+
 # Copyright (C) Martin Schlemmer [EMAIL PROTECTED]
 # Released under the terms of the GNU GPL
 #
@@ -56,9 +59,9 @@
 
 parse() {
local location=$1
-   local name=${location/${srcdir}//}
+   local name=${location#$srcdir/}
# change '//' into '/'
-   name=${name//\/\///}
+   name=`echo $name|sed -e 's|//|/|g'`
local mode=$2
local uid=$3
local gid=$4
@@ -68,8 +71,8 @@
[ $gid -eq $root_gid ]  gid=0
local str=${mode} ${uid} ${gid}
 
-   [ ${ftype} == invalid ]  return 0
-   [ ${location} == ${srcdir} ]  return 0
+   [ ${ftype} = invalid ]  return 0
+   [ ${location} = ${srcdir} ]  return 0
 
case ${ftype} in
file)



# Han
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/