Changeset 1b6b76d in mainline for uspace/app/bithenge/sequence.c
- Timestamp:
- 2012-08-12T05:10:17Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2988aec7
- Parents:
- 6be4142
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/bithenge/sequence.c
r6be4142 r1b6b76d 546 546 return rc; 547 547 548 rc = seq_node_field_offset(node_as_seq(*out_node), out_size, 549 self->num_subtransforms); 550 if (rc != EOK) { 551 bithenge_node_dec_ref(*out_node); 552 return rc; 548 if (out_size) { 549 rc = seq_node_field_offset(node_as_seq(*out_node), out_size, 550 self->num_subtransforms); 551 if (rc != EOK) { 552 bithenge_node_dec_ref(*out_node); 553 return rc; 554 } 553 555 } 554 556 … … 815 817 return rc; 816 818 817 bithenge_int_t count = node_as_repeat(*out_node)->count; 818 if (count != -1) { 819 rc = seq_node_field_offset(node_as_seq(*out_node), out_size, count); 820 if (rc != EOK) { 821 bithenge_node_dec_ref(*out_node); 822 return rc; 823 } 824 } else { 825 *out_size = 0; 826 for (count = 1; ; count++) { 827 aoff64_t size; 819 if (out_size) { 820 bithenge_int_t count = node_as_repeat(*out_node)->count; 821 if (count != -1) { 828 822 rc = seq_node_field_offset(node_as_seq(*out_node), 829 &size, count); 830 if (rc != EOK) 831 break; 832 *out_size = size; 823 out_size, count); 824 if (rc != EOK) { 825 bithenge_node_dec_ref(*out_node); 826 return rc; 827 } 828 } else { 829 *out_size = 0; 830 for (count = 1; ; count++) { 831 aoff64_t size; 832 rc = seq_node_field_offset( 833 node_as_seq(*out_node), &size, count); 834 if (rc != EOK) 835 break; 836 *out_size = size; 837 } 833 838 } 834 839 } … … 1087 1092 return rc; 1088 1093 1089 rc = bithenge_node_for_each(*out_node, for_each_noop, NULL); 1090 if (rc != EOK) { 1091 bithenge_node_dec_ref(*out_node); 1092 return rc; 1093 } 1094 1095 rc = seq_node_field_offset(node_as_seq(*out_node), out_size, 1096 node_as_do_while(*out_node)->count); 1097 if (rc != EOK) { 1098 bithenge_node_dec_ref(*out_node); 1099 return rc; 1094 if (out_size) { 1095 rc = bithenge_node_for_each(*out_node, for_each_noop, NULL); 1096 if (rc != EOK) { 1097 bithenge_node_dec_ref(*out_node); 1098 return rc; 1099 } 1100 1101 rc = seq_node_field_offset(node_as_seq(*out_node), out_size, 1102 node_as_do_while(*out_node)->count); 1103 if (rc != EOK) { 1104 bithenge_node_dec_ref(*out_node); 1105 return rc; 1106 } 1100 1107 } 1101 1108
Note:
See TracChangeset
for help on using the changeset viewer.