Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include <u.h>
#include <libc.h>
#include <bio.h>
#include <String.h>
#include <thread.h>
#include "wiki.h"

/* open, create relative to wiki dir */
char *wikidir;

static char*
wname(char *s)
{
        char *t;

        t = emalloc(strlen(wikidir)+1+strlen(s)+1);
        strcpy(t, wikidir);
        strcat(t, "/");
        strcat(t, s);
        return t;
}

int
wopen(char *fn, int mode)
{
        int rv;

        fn = wname(fn);
        rv = open(fn, mode);
        free(fn);
        return rv;
}

int
wcreate(char *fn, int mode, long perm)
{
        int rv;

        fn = wname(fn);
        rv = create(fn, mode, perm);
        free(fn);
        return rv;
}

Biobuf*
wBopen(char *fn, int mode)
{
        Biobuf *rv;

        fn = wname(fn);
        rv = Bopen(fn, mode);
        free(fn);
        return rv;
}

int
waccess(char *fn, int mode)
{
        int rv;

        fn = wname(fn);
        rv = access(fn, mode);
        free(fn);
        return rv;
}

Dir*
wdirstat(char *fn)
{
        Dir *d;

        fn = wname(fn);
        d = dirstat(fn);
        free(fn);
        return d;
}