… | |
… | |
2764 | if (!d) XSRETURN_UNDEF; |
2764 | if (!d) XSRETURN_UNDEF; |
2765 | RETVAL = d->data.size (); |
2765 | RETVAL = d->data.size (); |
2766 | OUTPUT: |
2766 | OUTPUT: |
2767 | RETVAL |
2767 | RETVAL |
2768 | |
2768 | |
|
|
2769 | void set_meta (faceidx idx, SV *sv) |
|
|
2770 | CODE: |
|
|
2771 | { |
|
|
2772 | faceinfo *f = face_info (idx); assert (f); |
|
|
2773 | SvREFCNT_dec (f->meta_hv); |
|
|
2774 | f->meta_hv = SvOK (sv) ? (HV *)SvREFCNT_inc (SvRV (sv)) : 0; |
|
|
2775 | } |
|
|
2776 | |
2769 | SV *get_chksum (faceidx idx, int faceset = 0) |
2777 | SV *get_chksum (faceidx idx, int faceset = 0) |
2770 | CODE: |
2778 | CODE: |
2771 | facedata *d = face_data (idx, faceset); |
2779 | facedata *d = face_data (idx, faceset); |
2772 | if (!d) XSRETURN_UNDEF; |
2780 | if (!d) XSRETURN_UNDEF; |
2773 | RETVAL = newSVpvn ((char *)d->chksum, d->chksum_len); |
2781 | RETVAL = newSVpvn ((char *)d->chksum, d->chksum_len); |
… | |
… | |
2777 | SV *get_data (faceidx idx, int faceset = 0) |
2785 | SV *get_data (faceidx idx, int faceset = 0) |
2778 | CODE: |
2786 | CODE: |
2779 | facedata *d = face_data (idx, faceset); |
2787 | facedata *d = face_data (idx, faceset); |
2780 | if (!d) XSRETURN_UNDEF; |
2788 | if (!d) XSRETURN_UNDEF; |
2781 | RETVAL = newSVpvn (d->data, d->data.size ()); |
2789 | RETVAL = newSVpvn (d->data, d->data.size ()); |
|
|
2790 | OUTPUT: |
|
|
2791 | RETVAL |
|
|
2792 | |
|
|
2793 | SV *get_meta (faceidx idx) |
|
|
2794 | CODE: |
|
|
2795 | faceinfo *f = face_info (idx); assert (f); |
|
|
2796 | if (!f || !f->meta_hv) XSRETURN_UNDEF; |
|
|
2797 | RETVAL = newRV_inc ((SV *)f->meta_hv); |
2782 | OUTPUT: |
2798 | OUTPUT: |
2783 | RETVAL |
2799 | RETVAL |
2784 | |
2800 | |
2785 | void invalidate (faceidx idx) |
2801 | void invalidate (faceidx idx) |
2786 | CODE: |
2802 | CODE: |