implemented remove in bar2 :)

This commit is contained in:
Anselm R. Garbe 2006-01-28 17:41:15 +02:00
parent ff7bfbfc02
commit 3229e51735

View File

@ -344,6 +344,27 @@ mkstat(Stat *stat, Qid *dir, char *name, unsigned long long length, unsigned int
return ixp_sizeof_stat(stat);
}
static int
xremove(IXPServer *s, IXPConn *c)
{
Map *map = fid_to_map(c->aux, s->fcall.fid);
unsigned short i;
if(!map) {
s->errstr = "invalid fid";
return -1;
}
i = qpath_item(map->qid.path);
s->fcall.id = RREMOVE;
if((qpath_type(map->qid.path) == Ditem) && i && (i < nitem)) {
Item *it = item[i];
detach_item(it);
free(it);
return 0;
}
return -1;
}
static int
xread(IXPServer *s, IXPConn *c)
{
@ -595,6 +616,7 @@ static IXPTFunc funcs[] = {
{TVERSION, ixp_server_tversion},
{TATTACH, xattach},
{TWALK, xwalk},
{TREMOVE, xremove},
{TOPEN, xopen},
{TREAD, xread},
{TWRITE, xwrite},