Changeset f9c314a5 in mainline for uspace/app/bithenge/test.c


Ignore:
Timestamp:
2012-08-07T04:06:14Z (12 years ago)
Author:
Sean Bartell <wingedtachikoma@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0191bd3
Parents:
0ce0103
Message:

Bithenge: make scopes reference-counted

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bithenge/test.c

    r0ce0103 rf9c314a5  
    6969                bithenge_node_dec_ref(node);
    7070        } else {
    71                 bithenge_scope_t scope;
     71                bithenge_scope_t *scope = NULL;
    7272                bithenge_transform_t *transform = NULL;
    7373                bithenge_node_t *node = NULL, *node2 = NULL;
    7474
    75                 bithenge_scope_init(&scope);
     75                rc = bithenge_scope_new(&scope);
     76                if (rc != EOK) {
     77                        printf("Error creating scope: %s\n", str_error(rc));
     78                        scope = NULL;
     79                        goto error;
     80                }
    7681
    7782                rc = bithenge_parse_script(argv[1], &transform);
    7883                if (rc != EOK) {
    7984                        printf("Error parsing script: %s\n", str_error(rc));
     85                        transform = NULL;
    8086                        goto error;
    8187                }
    8288
    83                 int rc = bithenge_node_from_source(&node, argv[2]);
     89                rc = bithenge_node_from_source(&node, argv[2]);
    8490                if (rc != EOK) {
    8591                        printf("Error creating node from source: %s\n", str_error(rc));
     92                        node = NULL;
    8693                        goto error;
    8794                }
    8895
    89                 rc = bithenge_transform_apply(transform, &scope, node, &node2);
     96                rc = bithenge_transform_apply(transform, scope, node, &node2);
    9097                if (rc != EOK) {
    9198                        printf("Error applying transform: %s\n", str_error(rc));
     99                        node2 = NULL;
    92100                        goto error;
    93101                }
     
    105113                bithenge_node_dec_ref(node2);
    106114                node2 = NULL;
     115                bithenge_scope_dec_ref(scope);
     116                scope = NULL;
    107117                printf("\n");
    108118
     
    113123                bithenge_node_dec_ref(node2);
    114124                bithenge_transform_dec_ref(transform);
    115                 bithenge_scope_destroy(&scope);
     125                bithenge_scope_dec_ref(scope);
    116126                return 1;
    117127        }
Note: See TracChangeset for help on using the changeset viewer.