Skip to content

duk_require_buffer_data()

1.3.0 stack buffer object buffer

プロトタイプ

c
void *duk_require_buffer_data(duk_context *ctx, duk_idx_t idx, duk_size_t *out_size);

スタック

| ... | val | ... |

要約

duk_get_buffer_data() と同様ですが、idx の値がプレーンバッファまたはバッファオブジェクトでない場合、値がバッファオブジェクトでその「バッキングバッファ」がバッファオブジェクトの見た目のサイズを完全にカバーしていない場合、またはインデックスが無効な場合にエラーを送出します。

c
void *ptr;
duk_size_t sz;

ptr = duk_require_buffer_data(ctx, -3, &sz);
printf("buf=%p, size=%lu\n", ptr, (unsigned long) sz);

参照

duk_get_buffer_data duk_require_buffer duk_get_buffer