コード例 #1
0
ファイル: ejsArray.c プロジェクト: embedthis/ejs-1
/*
 *  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);
}
コード例 #2
0
ファイル: ejsArray.c プロジェクト: leemit/ejscript
/*
    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);
}
コード例 #3
0
ファイル: ejsArray.c プロジェクト: leemit/ejscript
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);
}
コード例 #4
0
ファイル: ejsArray.c プロジェクト: leemit/ejscript
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;
}
コード例 #5
0
ファイル: ejsArray.c プロジェクト: leemit/ejscript
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;
}