diff options
author | David Timber <mieabby@gmail.com> | 2020-09-18 00:39:10 +0930 |
---|---|---|
committer | David Timber <mieabby@gmail.com> | 2020-09-18 00:39:10 +0930 |
commit | 54166c46f32555532dc3c0e922fe6a591cb74128 (patch) | |
tree | dee32ffb8a15365cc2800f6c2cbc3520ef56324e /src/pack.c | |
parent | e6953dcb47193746a4f4d9fff0193723fadbb3e6 (diff) |
* Impl: bne
* Add prne_index_nybin()
Diffstat (limited to 'src/pack.c')
-rw-r--r-- | src/pack.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -503,3 +503,25 @@ ssize_t prne_bin_rcb_read ( { return ctx->read_f(ctx, buf, len, prc, err); } + +bool prne_index_nybin ( + const uint8_t *m_nybin, + const size_t nybin_len, + const uint8_t **m_dv, + size_t *dv_len, + const uint8_t **m_ba, + size_t *ba_len) +{ + if (nybin_len < 8) { + return false; + } + *dv_len = prne_recmb_msb16(m_nybin[0], m_nybin[1]); + if (8 + *dv_len > nybin_len) { + return false; + } + *m_dv = m_nybin + 8; + *m_ba = m_nybin + 8 + prne_salign_next(*dv_len, PRNE_BIN_ALIGNMENT); + *ba_len = nybin_len - (*m_ba - m_nybin); + + return true; +} |