Changeset 883fedc in mainline for uspace/app/sbi/src/rdata.c


Ignore:
Timestamp:
2010-04-23T23:09:56Z (14 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
37c9fc8
Parents:
80badbe (diff), 6c39a907 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge from lp:~jsvoboda/helenos/sysel. New: generic classes, autoboxing, delegates.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/sbi/src/rdata.c

    r80badbe r883fedc  
    529529static void rdata_deleg_copy(rdata_deleg_t *src, rdata_deleg_t **dest)
    530530{
    531         (void) src; (void) dest;
    532         printf("Unimplemented: Copy delegate.\n");
    533         exit(1);
     531        *dest = rdata_deleg_new();
     532        (*dest)->obj = src->obj;
     533        (*dest)->sym = src->sym;
    534534}
    535535
     
    711711                break;
    712712        case vc_ref:
    713                 printf("ref(");
    714                 rdata_var_print(var->u.ref_v->vref);
    715                 printf(")");
     713                if (var->u.ref_v->vref != NULL) {
     714                        printf("ref(");
     715                        rdata_var_print(var->u.ref_v->vref);
     716                        printf(")");
     717                } else {
     718                        printf("nil");
     719                }
    716720                break;
    717721        case vc_deleg:
    718722                printf("deleg(");
    719                 if (var->u.deleg_v->obj != NULL) {
    720                         rdata_var_print(var->u.deleg_v->obj);
    721                         printf(",");
     723                if (var->u.deleg_v->sym != NULL) {
     724                        if (var->u.deleg_v->obj != NULL) {
     725                                rdata_var_print(var->u.deleg_v->obj);
     726                                printf(",");
     727                        }
     728                        symbol_print_fqn(var->u.deleg_v->sym);
     729                } else {
     730                        printf("nil");
    722731                }
    723                 symbol_print_fqn(var->u.deleg_v->sym);
    724732                printf(")");
    725733                break;
Note: See TracChangeset for help on using the changeset viewer.