Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
duk_hbufferobject_misc.c File Reference
#include "duk_internal.h"

Go to the source code of this file.

Functions

DUK_INTERNAL duk_uint_t duk_hbufferobject_clamp_bytelength (duk_hbufferobject *h_bufobj, duk_uint_t len)
 

Function Documentation

◆ duk_hbufferobject_clamp_bytelength()

DUK_INTERNAL duk_uint_t duk_hbufferobject_clamp_bytelength ( duk_hbufferobject * h_bufobj,
duk_uint_t len )

Definition at line 4 of file duktape-1.5.2/src-separate/duk_hbufferobject_misc.c.

4 {
5 duk_uint_t buf_size;
6 duk_uint_t buf_avail;
7
8 DUK_ASSERT(h_bufobj != NULL);
9 DUK_ASSERT(h_bufobj->buf != NULL);
10
11 buf_size = (duk_uint_t) DUK_HBUFFER_GET_SIZE(h_bufobj->buf);
12 if (h_bufobj->offset > buf_size) {
13 /* Slice starting point is beyond current length. */
14 return 0;
15 }
16 buf_avail = buf_size - h_bufobj->offset;
17
18 return buf_avail >= len ? len : buf_avail;
19}
duk_uint_fast32_t duk_uint_t
#define DUK_HBUFFER_GET_SIZE(x)
#define NULL
Definition gmacros.h:924

References duk_hbufferobject::buf, DUK_ASSERT, DUK_HBUFFER_GET_SIZE, NULL, and duk_hbufferobject::offset.