~ubuntu-branches/ubuntu/gutsy/slocate/gutsy

« back to all changes in this revision

Viewing changes to src/utils.c

  • Committer: Bazaar Package Importer
  • Author(s): Kevin Lindsay
  • Date: 2006-01-06 09:36:28 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20060106093628-cq82c695r3st8xkv
Tags: 3.0.beta.r3-1
* The environment variable LOCATE_PATH was not being used properly. It will
  now be used the same as in v2.7. Closes: #345646
* slocate was returning non zero for -h, --help, -V and --version. It now
  returns zero.
* PRUNEFS was being ignored in /etc/updatedb.conf
* Added documentation describing how /etc/updatedb.conf is used and what
  is supported to the README and the slocate.1 and updatedb.1 man pages.
* README.debian was removed in 3.0.beta.r1-1 to close bug 272131, but it was
  accidently readded in 3.0.beta.r2-1. I now have a use for it, so it is now
  here to stay.

Show diffs side-by-side

added added

removed removed

Lines of Context:
517
517
        
518
518
        return ret;
519
519
}
 
520
 
 
521
/* Verify access to the file. access() follows symlinks, so we need
 
522
 * to check them separately */
 
523
int verify_access(const char *path)
 
524
{
 
525
        struct stat path_stat;
 
526
        int ret = 0;
 
527
        char *ptr = NULL;
 
528
 
 
529
        if (lstat(path, &path_stat) == -1)
 
530
            goto EXIT;
 
531
 
 
532
        if (!S_ISLNK(path_stat.st_mode)) {
 
533
                if (access(path, F_OK) != 0)
 
534
                    goto EXIT;
 
535
        } else if ((ptr = rindex(path, '/'))) {
 
536
                *ptr = 0;
 
537
                if (access(path, F_OK) == 0)
 
538
                    ret = 1;
 
539
                *ptr = '/';
 
540
                goto EXIT;
 
541
        }
 
542
 
 
543
        ret = 1;
 
544
EXIT:
 
545
        return ret;
 
546
}