Changeset 1c79996 in mainline for uspace/lib/bithenge/sequence.c
- Timestamp:
- 2012-08-18T23:20:48Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a42d7d8
- Parents:
- 1f9c9a4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/bithenge/sequence.c
r1f9c9a4 r1c79996 915 915 typedef struct { 916 916 seq_node_t base; 917 bool prefix;918 917 bithenge_expression_t *expr; 919 918 bithenge_transform_t *xform; … … 995 994 } 996 995 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 1006 996 return rc; 1007 997 } … … 1035 1025 1036 1026 static 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) 1039 1028 { 1040 1029 do_while_node_t *node = malloc(sizeof(*node)); … … 1060 1049 bithenge_expression_inc_ref(self->expr); 1061 1050 node->expr = self->expr; 1062 node->prefix = prefix;1063 1051 node->count = -1; 1064 1052 *out = do_while_as_node(node); 1065 1053 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);1076 1054 } 1077 1055 … … 1089 1067 { 1090 1068 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); 1093 1070 if (rc != EOK) 1094 1071 return rc; … … 1121 1098 1122 1099 static const bithenge_transform_ops_t do_while_transform_ops = { 1123 .apply = do_while_transform_apply,1124 1100 .prefix_apply = do_while_transform_prefix_apply, 1125 1101 .destroy = do_while_transform_destroy,
Note:
See TracChangeset
for help on using the changeset viewer.