Changeset f9c314a5 in mainline for uspace/app/bithenge/sequence.c
- Timestamp:
- 2012-08-07T04:06:14Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0191bd3
- Parents:
- 0ce0103
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/bithenge/sequence.c
r0ce0103 rf9c314a5 50 50 const struct seq_node_ops *ops; 51 51 bithenge_blob_t *blob; 52 bithenge_scope_t scope;52 bithenge_scope_t *scope; 53 53 aoff64_t *ends; 54 54 size_t num_ends; … … 114 114 bithenge_blob_t *subblob = bithenge_node_as_blob(subblob_node); 115 115 aoff64_t field_size; 116 rc = bithenge_transform_prefix_length(subxform, &self->scope,116 rc = bithenge_transform_prefix_length(subxform, self->scope, 117 117 subblob, &field_size); 118 118 bithenge_node_dec_ref(subblob_node); … … 177 177 178 178 aoff64_t size; 179 rc = bithenge_transform_prefix_apply(subxform, &self->scope,179 rc = bithenge_transform_prefix_apply(subxform, self->scope, 180 180 bithenge_node_as_blob(blob_node), out, &size); 181 181 bithenge_node_dec_ref(blob_node); … … 209 209 } 210 210 211 rc = bithenge_transform_apply(subxform, &self->scope,212 blob_node,out);211 rc = bithenge_transform_apply(subxform, self->scope, blob_node, 212 out); 213 213 bithenge_node_dec_ref(blob_node); 214 214 bithenge_transform_dec_ref(subxform); … … 235 235 static void seq_node_destroy(seq_node_t *self) 236 236 { 237 bithenge_scope_de stroy(&self->scope);237 bithenge_scope_dec_ref(self->scope); 238 238 bithenge_blob_dec_ref(self->blob); 239 239 free(self->ends); … … 248 248 static bithenge_scope_t *seq_node_scope(seq_node_t *self) 249 249 { 250 return &self->scope;250 return self->scope; 251 251 } 252 252 … … 267 267 self->num_ends = 0; 268 268 self->end_on_empty = end_on_empty; 269 bithenge_scope_init(&self->scope); 270 int rc = bithenge_scope_copy(&self->scope, scope); 269 int rc = bithenge_scope_new(&self->scope); 271 270 if (rc != EOK) { 272 bithenge_scope_destroy(&self->scope); 271 free(self->ends); 272 return rc; 273 } 274 rc = bithenge_scope_copy(self->scope, scope); 275 if (rc != EOK) { 276 bithenge_scope_dec_ref(self->scope); 277 free(self->ends); 273 278 return rc; 274 279 } … … 936 941 } 937 942 938 bithenge_scope_t scope; 939 bithenge_scope_init(&scope); 940 rc = bithenge_scope_copy(&scope, 943 bithenge_scope_t *scope; 944 rc = bithenge_scope_new(&scope); 945 if (rc != EOK) { 946 bithenge_node_dec_ref(subxform_result); 947 return rc; 948 } 949 rc = bithenge_scope_copy(scope, 941 950 seq_node_scope(do_while_as_seq(self))); 942 bithenge_scope_set_current_node( &scope, subxform_result);951 bithenge_scope_set_current_node(scope, subxform_result); 943 952 if (rc != EOK) { 944 bithenge_scope_de stroy(&scope);953 bithenge_scope_dec_ref(scope); 945 954 return rc; 946 955 } 947 956 bithenge_node_t *expr_result; 948 rc = bithenge_expression_evaluate(self->expr, &scope,957 rc = bithenge_expression_evaluate(self->expr, scope, 949 958 &expr_result); 950 bithenge_scope_de stroy(&scope);959 bithenge_scope_dec_ref(scope); 951 960 if (rc != EOK) 952 961 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.