Esempio n. 1
0
/*
 *  Delete an element by name.
 */
static int deleteArrayPropertyByName(Ejs *ejs, EjsArray *ap, EjsName *qname)
{
    if (isdigit((int) qname->name[0])) {
        return deleteArrayProperty(ejs, ap, atoi(qname->name));
    }
    return (ejs->objectHelpers->deletePropertyByName)(ejs, (EjsVar*) ap, qname);
}
Esempio n. 2
0
/*
    Delete an element by name
 */
static int deleteArrayPropertyByName(Ejs *ejs, EjsArray *ap, EjsName qname)
{
    if (isdigit((uchar) qname.name->value[0])) {
        return deleteArrayProperty(ejs, ap, (int) wtoi(qname.name->value));
    }
    return (ejs->service->potHelpers.deletePropertyByName)(ejs, ap, qname);
}
Esempio n. 3
0
PUBLIC int ejsRemoveLastItem(Ejs *ejs, EjsArray *ap)
{
    assert(ap);

    if (ap->length <= 0) {
        return MPR_ERR_CANT_FIND;
    }
    return deleteArrayProperty(ejs, ap, ap->length - 1);
}
Esempio n. 4
0
PUBLIC int ejsRemoveItemAtPos(Ejs *ejs, EjsArray *ap, int index, int compact)
{
    int     rc;

    assert(ap);

    if (ap->length <= 0) {
        return MPR_ERR_CANT_FIND;
    }
    rc = deleteArrayProperty(ejs, ap, index);
    if (compact) {
        compactArray(ejs, ap, 0, NULL);
    }
    return rc;
}
Esempio n. 5
0
PUBLIC int ejsRemoveItem(Ejs *ejs, EjsArray *ap, EjsAny *item, int compact)
{
    int     i;

    for (i = 0; i < ap->length; i++) {
        if (ap->data[i] == item) {
            deleteArrayProperty(ejs, ap, i);
            if (compact) {
                compactArray(ejs, ap, 0, NULL);
            }
            return i;
        }
    }
    return MPR_ERR_CANT_FIND;
}