/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 1985-2011 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Glenn Fowler <[email protected]> *17* David Korn <[email protected]> *18* Phong Vo <[email protected]> *19* *20***********************************************************************/21#pragma prototyped2223/*24* seekdir25*26* seek on directory stream27* this is not optimal because there aren't portable28* semantics for directory seeks29*/3031#include "dirlib.h"3233#if _dir_ok3435NoN(seekdir)3637#else3839void40seekdir(register DIR* dirp, long loc)41{42off_t base; /* file location of block */43off_t offset; /* offset within block */4445if (telldir(dirp) != loc)46{47lseek(dirp->dd_fd, 0L, SEEK_SET);48dirp->dd_loc = dirp->dd_size = 0;49while (telldir(dirp) != loc)50if (!readdir(dirp))51break; /* "can't happen" */52}53}5455#endif565758