// Copyright (c) 2004 David Muse
// See the file COPYING for more information
#include <rudiments/directory.h>
#include <rudiments/file.h>
#include <rudiments/permissions.h>
#include <stdio.h>
#ifdef RUDIMENTS_NAMESPACE
using namespace rudiments;
#endif
int main(int argc, const char **argv) {
directory::create("testdir",permissions::evalPermString("rwxr-xr-x"));
file f;
f.create("testdir/testfile1",permissions::evalPermString("rw-r--r--"));
f.close();
f.create("testdir/testfile2",permissions::evalPermString("rw-r--r--"));
f.close();
printf("Contents of testdir:\n");
directory d;
d.open("testdir");
char *name;
for (off64_t index=0; (name=d.getChildName(index)); index++) {
printf("%lld: %s\n",index,name);
delete[] name;
}
printf("%d entries\n",d.getChildCount());
char *cwd=directory::getCurrentWorkingDirectory();
printf("cwd=%s\n",cwd);
delete[] cwd;
directory::changeDirectory("testdir");
cwd=directory::getCurrentWorkingDirectory();
printf("cwd=%s\n",cwd);
delete[] cwd;
directory::changeDirectory("..");
cwd=directory::getCurrentWorkingDirectory();
printf("cwd=%s\n",cwd);
delete[] cwd;
file::remove("testdir/testfile1");
file::remove("testdir/testfile2");
directory::remove("testdir");
printf("maxFileNameLength(/usr/local)=%d\n",
directory::maxFileNameLength("/usr/local"));
printf("maxPathLength(/usr/local)=%d\n",
directory::maxPathLength("/usr/local"));
printf("canAccessLongFileNames(/usr/local)=%d\n",
directory::canAccessLongFileNames("/usr/local"));
}
syntax highlighted by Code2HTML, v. 0.9.1