rem: char                *e, *q;
add: char                *e;
context: rootfs_readdir(void *_ns, void *_node, void *_cookie, long *num,                    struct my_dirent *buf, size_t bufsize){    nspace              *ns;    vnode               *node;    dirpos              *cookie;    char                *e, *q;    struct my_dirent    *p;    long                 i;    vnode               *vn;    vnode_id             vnid;    char                *name, *last;    int                  sl, rl;    ns = (nspace *) _ns;    node = (vnode *) _node;    cookie = (dirpos *) _cookie;    LOCK(ns->lock);    LOCK(cookie->lock);    vn = node->head;    p = (struct my_dirent *) buf;    e = (char *) buf + bufsize;    if (cookie->pos > 2)        while (vn && (strcmp(cookie->name, vn->name) >= 0))            vn = vn->next;    for(i=0; (i < *num) && ((cookie->pos < 2) || vn); i++, cookie->pos++) {        switch(cookie->pos) {        case 0:            name = ".";            vnid = node->vnid;            break;        case 1:            name = "..";            vnid = node->parent->vnid;            break;        default:            name = vn->name;            vnid = vn->vnid;            vn = vn->next;            break;        }        sl = strlen(name) + 1;        rl = sizeof(struct my_dirent) + sl - 1;        if ((char *)p + rl > e)            break;        last = name;        p->d_reclen = (rl + 7) & ~7;        p->d_ino = vnid;        memcpy(p->d_name, name, sl);        p = (struct my_dirent *)((char *)p + p->d_reclen);    }    if ((cookie->pos > 2) && (i > 0))        strcpy(cookie->name, last);    *num = i;exit:    UNLOCK(cookie->lock);    UNLOCK(ns->lock);    return 0;}