scripts/wrapper: fix wrong test when checking access to the reall tool 1.7
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jun 22 23:49:23 2010 +0200 (2010-06-22)
branch1.7
changeset 1998110ba570a70a
parent 1997 2780fc54f9f4
child 1999 715b711da3ab
scripts/wrapper: fix wrong test when checking access to the reall tool

In C, the proper syntax for a bit-wise OR is a single '|', not two.

It worked so far because all was well:
- X_OK == 1
- R_OK||X_OK == 1
- the file we searched for had the x-bit set
-> access( file, R_OK||X_OK ) worked
- inicidentally, the file we searched for also had the r-bit set,
but we were not testing that in fact.
(transplanted from eebcaff6626f09af4f69b7b06f1246a06769d0af)
scripts/wrapper.c
     1.1 --- a/scripts/wrapper.c	Wed Jun 16 18:57:10 2010 +0200
     1.2 +++ b/scripts/wrapper.c	Tue Jun 22 23:49:23 2010 +0200
     1.3 @@ -66,7 +66,7 @@
     1.4        if( stat( testname, &st ) == 0 ) {
     1.5          /* OK, exists. Is it a regular file, or a
     1.6           * symlink, which the current user may execute? */
     1.7 -        if( S_ISREG( st.st_mode ) && ! access( testname, X_OK || R_OK ) ) {
     1.8 +        if( S_ISREG( st.st_mode ) && ! access( testname, X_OK | R_OK ) ) {
     1.9            fullname = strdup( testname );
    1.10            break;
    1.11          }