view toys/realpath.c @ 470:7d4dbde67dfb

Move realpath from loopfiles() to a for loop, so we don't get hung on read permission for file data when we just want to look at directory info.
author Rob Landley <rob@landley.net>
date Fri, 17 Feb 2012 05:27:37 -0600
parents 6378ca1da18e
children
line wrap: on
line source

/* vi: set sw=4 ts=4:
 *
 * realpath.c - Return the canonical version of a pathname
 *
 * Copyright 2012 Andre Renaud <andre@bluewatersys.com>
 *
 * Not in SUSv4.

USE_REALPATH(NEWTOY(realpath, "<1", TOYFLAG_USR|TOYFLAG_BIN))

config REALPATH
	bool "realpath"
	default y
	help
	  usage: realpath FILE...

	  Display the canonical absolute pathname
*/

#include "toys.h"

void realpath_main(void)
{
    char **s = toys.optargs;
    for (s = toys.optargs; *s; s++) {
        if (!realpath(*s, toybuf)) {
            perror_msg("cannot access '%s'", *s);
            toys.exitval = 1;
        } else xputs(toybuf);
    }
}