Changeset 1c79996 in mainline for uspace/lib/bithenge/sequence.c


Ignore:
Timestamp:
2012-08-18T23:20:48Z (13 years ago)
Author:
Sean Bartell <wingedtachikoma@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a42d7d8
Parents:
1f9c9a4
Message:

Bithenge: fix issues and expand coverage for test.sh

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/bithenge/sequence.c

    r1f9c9a4 r1c79996  
    915915typedef struct {
    916916        seq_node_t base;
    917         bool prefix;
    918917        bithenge_expression_t *expr;
    919918        bithenge_transform_t *xform;
     
    995994        }
    996995
    997         if (!self->prefix) {
    998                 bool complete;
    999                 rc = seq_node_complete(do_while_as_seq(self), &complete);
    1000                 if (rc != EOK)
    1001                         return rc;
    1002                 if (!complete)
    1003                         return EINVAL;
    1004         }
    1005 
    1006996        return rc;
    1007997}
     
    10351025
    10361026static int do_while_transform_make_node(do_while_transform_t *self,
    1037     bithenge_node_t **out, bithenge_scope_t *scope, bithenge_blob_t *blob,
    1038     bool prefix)
     1027    bithenge_node_t **out, bithenge_scope_t *scope, bithenge_blob_t *blob)
    10391028{
    10401029        do_while_node_t *node = malloc(sizeof(*node));
     
    10601049        bithenge_expression_inc_ref(self->expr);
    10611050        node->expr = self->expr;
    1062         node->prefix = prefix;
    10631051        node->count = -1;
    10641052        *out = do_while_as_node(node);
    10651053        return EOK;
    1066 }
    1067 
    1068 static int do_while_transform_apply(bithenge_transform_t *base,
    1069     bithenge_scope_t *scope, bithenge_node_t *in, bithenge_node_t **out)
    1070 {
    1071         do_while_transform_t *self = transform_as_do_while(base);
    1072         if (bithenge_node_type(in) != BITHENGE_NODE_BLOB)
    1073                 return EINVAL;
    1074         return do_while_transform_make_node(self, out, scope,
    1075             bithenge_node_as_blob(in), false);
    10761054}
    10771055
     
    10891067{
    10901068        do_while_transform_t *self = transform_as_do_while(base);
    1091         int rc = do_while_transform_make_node(self, out_node, scope, blob,
    1092             true);
     1069        int rc = do_while_transform_make_node(self, out_node, scope, blob);
    10931070        if (rc != EOK)
    10941071                return rc;
     
    11211098
    11221099static const bithenge_transform_ops_t do_while_transform_ops = {
    1123         .apply = do_while_transform_apply,
    11241100        .prefix_apply = do_while_transform_prefix_apply,
    11251101        .destroy = do_while_transform_destroy,
Note: See TracChangeset for help on using the changeset viewer.