--- parser3/src/include/pa_dir.h 2001/04/26 14:55:25 1.3 +++ parser3/src/include/pa_dir.h 2005/08/09 08:14:49 1.17 @@ -1,16 +1,17 @@ /** @file Parser: directory scanning for different OS-es decls. - Copyright (c) 2000,2001 ArtLebedev Group (http://www.artlebedev.com) - - Author: Alexander Petrosyan (http://design.ru/paf) - - $Id: pa_dir.h,v 1.3 2001/04/26 14:55:25 paf Exp $ + Copyright (c) 2000,2001-2005 ArtLebedev Group (http://www.artlebedev.com) + Author: Alexandr Petrosian (http://paf.design.ru) */ #ifndef PA_DIR_H #define PA_DIR_H +static const char * const IDENT_DIR_H="$Date: 2005/08/09 08:14:49 $"; + +#include "pa_config_includes.h" + /** @struct ffblk win32/unix unified directory entry structure name for findfirst/next/close interface @@ -68,21 +69,21 @@ struct ffblk { #endif -bool findfirst(const char *_pathname, struct ffblk *_ffblk, int _attrib); +bool findfirst(const char* _pathname, struct ffblk *_ffblk, int _attrib); bool findnext(struct ffblk *_ffblk); void findclose(struct ffblk *_ffblk); /// main dir workhorse: calles win32/unix unified functions findfirst/next/close #define LOAD_DIR(dir,action) {\ ffblk ffblk; \ - bool done=findfirst(dir, &ffblk, 0); \ - while(!done) { \ - if(*ffblk.ff_name && ffblk.ff_name[0]!='.') {\ - action; \ - } \ - done=findnext(&ffblk); \ - } \ - findclose(&ffblk); \ + if(!findfirst(dir, &ffblk, 0)) { \ + do \ + if(*ffblk.ff_name && ffblk.ff_name[0]!='.') {\ + action; \ + } \ + while(!findnext(&ffblk)); \ + findclose(&ffblk); \ + } \ } #endif