# HG changeset patch # User "Yann E. MORIN" # Date 1277243363 -7200 # Node ID 110ba570a70aa53a7d0194fee495a61399acbbfd # Parent 2780fc54f9f45d6a9bf9ac6a456eba7ff81015bb 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) diff -r 2780fc54f9f4 -r 110ba570a70a scripts/wrapper.c --- a/scripts/wrapper.c Wed Jun 16 18:57:10 2010 +0200 +++ b/scripts/wrapper.c Tue Jun 22 23:49:23 2010 +0200 @@ -66,7 +66,7 @@ if( stat( testname, &st ) == 0 ) { /* OK, exists. Is it a regular file, or a * symlink, which the current user may execute? */ - if( S_ISREG( st.st_mode ) && ! access( testname, X_OK || R_OK ) ) { + if( S_ISREG( st.st_mode ) && ! access( testname, X_OK | R_OK ) ) { fullname = strdup( testname ); break; }