(bindat-unpack, bindat-pack):
Signal error if RAW-DATA is a multibyte string.
This commit is contained in:
parent
cde00df601
commit
5299552dca
1 changed files with 8 additions and 6 deletions
|
@ -345,8 +345,10 @@
|
|||
|
||||
(defun bindat-unpack (spec raw-data &optional pos)
|
||||
"Return structured data according to SPEC for binary data in RAW-DATA.
|
||||
RAW-DATA is a string or vector. Optional third arg POS specifies the
|
||||
starting offset in RAW-DATA."
|
||||
RAW-DATA is a unibyte string or vector. Optional third arg POS specifies
|
||||
the starting offset in RAW-DATA."
|
||||
(when (multibyte-string-p raw-data)
|
||||
(error "String is multibyte"))
|
||||
(unless pos (setq pos 0))
|
||||
(bindat--unpack-group spec))
|
||||
|
||||
|
@ -581,10 +583,10 @@ e.g. corresponding to STRUCT.FIELD1[INDEX2].FIELD3..."
|
|||
|
||||
(defun bindat-pack (spec struct &optional raw-data pos)
|
||||
"Return binary data packed according to SPEC for structured data STRUCT.
|
||||
Optional third arg RAW-DATA is a pre-allocated string or vector to pack into.
|
||||
Optional fourth arg POS is the starting offset into RAW-DATA.
|
||||
Note: The result is a multibyte string; use `string-make-unibyte' on it
|
||||
to make it unibyte if necessary."
|
||||
Optional third arg RAW-DATA is a pre-allocated unibyte string or vector to
|
||||
pack into. Optional fourth arg POS is the starting offset into RAW-DATA."
|
||||
(when (multibyte-string-p raw-data)
|
||||
(error "Pre-allocated string is multibyte"))
|
||||
(let ((no-return raw-data))
|
||||
(unless pos (setq pos 0))
|
||||
(unless raw-data
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue