dotdot
char dotdot[MAXPATHLEN + 16];
if (strlen(path) > sizeof (dotdot))
(void) strcpy(dotdot, path);
if (stat64(dotdot, &st) < 0)
if (slash = strrchr(dotdot, '/'))
if (slash == dotdot)
(void) strcpy(dotdot, ".");
if (stat64(dotdot, &st) < 0 ||
if (strlen(dotdot) > (sizeof (dotdot) - 4))
(void) strcat(dotdot, "/..");
bool slash, dotdot, hardpaths;
dotdot = sp[0] == '.' && sp[1] == '.' && sp[2] == '\0';
if (hardpaths || dotdot) {
if (dotdot) {
char *dotdot;
dotdot = strstr(path, "/../");
if (dotdot == NULL) {
if (dotdot == path) {
*dotdot = '\0';
(void) strcat(path, dotdot+4);
char *dotdot;
dotdot = strstr(path, "/../");
if (dotdot == NULL) {
if (dotdot == path) {
*dotdot = '\0';
(void) strcat(path, dotdot+4);
static Name dotdot;
if (dotdot == NULL) {
dotdot = GETNAME(wcs_buffer, FIND_LENGTH);
if(name != dotdot) {
bool dotdot;
dotdot = false;
dotdot = true;
if (dotdot) {
static int dotdot(char *);
if (dotdot(d)) {
if (dotdot(++slash)) {
char *dotdot;
dotdot = strstr(path, "/../");
if (dotdot == NULL) {
if (dotdot == path) {
*dotdot = '\0';
strcat(path, dotdot+4);
struct sdev_node *dotdot, *dir;
dotdot = tdv->sdev_dotdot;
ASSERT(dotdot);
if (dotdot == tdv) {
if (dotdot == sdv) {
dir = dotdot;
dotdot = dir->sdev_dotdot;
if (dir == dotdot) {
int dotdot, walk;
dotdot = (nm[0] == '.' && nm[1] == '.' && nm[2] == '\0');
if (dotdot) {
if (dotdot)
int attrdir, dotdot, walk;
dotdot = (nm[0] == '.' && nm[1] == '.' && nm[2] == '\0');
if (dotdot) {
if (dotdot)
if (attrdir && ! dotdot)
bool_t dotdot;
dotdot =
status = do_rfs4_op_secinfo(cs, dotdot ? ".." : ".", resp);
struct tdirent *dot, *dotdot;
dotdot = tmp_memalloc(sizeof (struct tdirent) + 3, TMP_MUSTHAVE);
dotdot->td_tmpnode = parent;
dotdot->td_offset = 1;
dotdot->td_name = (char *)dotdot + sizeof (struct tdirent);
dotdot->td_name[0] = '.';
dotdot->td_name[1] = '.';
dotdot->td_parent = dir;
tmpfs_hash_in(dotdot);
dot->td_next = dotdot;
dot->td_prev = dotdot; /* dot's td_prev holds roving slot pointer */
dotdot->td_next = NULL;
dotdot->td_prev = dot;
struct tmpnode *dir, *dotdot;
tdp = tmpfs_hash_lookup("..", toparent, 1, &dotdot);
ASSERT(dotdot);
if (dotdot == toparent) {
tmpnode_rele(dotdot);
if (dotdot == fromtp) {
tmpnode_rele(dotdot);
dir = dotdot;
error = tdirlookup(dir, "..", &dotdot, cred);
if (dir == dotdot) {
tmpnode_rele(dotdot);
struct tdirent *dotdot;
dotdot = tmpfs_hash_lookup("..", fromtp, 0, NULL);
ASSERT(dotdot->td_tmpnode == fromparent);
dotdot->td_tmpnode = toparent;