コード例 #1
0
int
nb_regist(char *xkey, ob *xob)
{
    nb_rec *nb;
    nb = nb_newpair(xkey, xob);
    if(nb) {
        varray_push(gnotebindlist, nb);
        return 0;
    }

    return -1;
}
コード例 #2
0
int
nf_registfilename(char *fn)
{
    nf_rec *ne;

    ne = nf_newfile(fn);
    if(ne) {
        varray_push(gnotefilelist, ne);
        return 0;
    }

    return -1;
}
コード例 #3
0
ファイル: varray.c プロジェクト: Algy/pine-mirror
void
varray_copy(varray *source, varray *destination)
{
    int i;
    void *item;

    if (source == NULL) return;
    if (destination == NULL) return;

    for (i = 0; i < varray_length (source); i++) {
        item = varray_get (source, i);
        varray_push (destination, item);
    }
}
コード例 #4
0
int
txe_parse(varray_t *ar, char *fs)
{
    char *p, *q;
    char  token[BUFSIZ];
    txe  *ne;
    int   cin;

Echo("target '%s'\n", fs);

    ne  = NULL;
    p   = fs;
    cin = 0;
    q = token;
    while(*p) {
#if 0
*q = '\0';
Echo("\t'%s'\n", token);
#endif
        if(*p=='\\') {
#if 0
            *q++ = *p++;
#endif
            p++;
            if(*p) {
                *q++ = *p++;
            }
            continue;
        }
        if(*p=='|') {
            ne = NULL;
            *q = '\0';
            if(token[0]) {
                if(cin<=0) {
Echo(" data %d '%s'\n", cin, token);
                    ne = txe_new(TXE_DATA, token);
                    cin++;
                }
                else
                if(cin>0) {
Echo(" cmd  %d '%s'\n", cin, token);
                    ne = txe_new(TXE_CMD, token);
                    cin--;
                }
                if(ne) {
                    varray_push(ar, ne);
                }
            }
            else {
                if(cin<=0) {
                    cin++;
                }
                else
                if(cin>0) {
                    cin--;
                }
            }
            q = token;

            p++;
            continue;
        }
        *q++ = *p++;
    }
    *q = '\0';

            ne = NULL;
            if(token[0]) {
                if(cin<=0) {
Echo(" data %d '%s'\n", cin, token);
                    ne = txe_new(TXE_DATA, token);
                }
                else {
Echo(" cmd  %d '%s'\n", cin, token);
                    ne = txe_new(TXE_CMD, token);
                }
                if(ne) {
                    varray_push(ar, ne);
                }
            }

    return 0;
}