summaryrefslogtreecommitdiff
path: root/ui/tokenizedtextview.h
diff options
context:
space:
mode:
authorJon Palmisciano <jp@jonpalmisc.com>2021-10-07 12:27:07 -0400
committerJon Palmisciano <jp@jonpalmisc.com>2021-10-07 14:44:17 -0400
commitb84383bfe8662e00d5699241097758b6a6e9d421 (patch)
treee2b94a0809f8fc90a970be14cb8e3adda25c1009 /ui/tokenizedtextview.h
parent22b182fe9b91a8df273ab67d4d65270607595ffa (diff)
Add infrastructure for UTF-{16,32} string creation actions
LinearView: Update string methods for UTF-{16,32} string quick-creation - Update `makeString` to accept a character size for wide strings - Update `getStringLength` to handle wide strings, add doc comment TypeView, TypeView: Add `charSize` parameter to `makeString`
Diffstat (limited to 'ui/tokenizedtextview.h')
-rw-r--r--ui/tokenizedtextview.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/ui/tokenizedtextview.h b/ui/tokenizedtextview.h
index 699c6caa..6424e6e4 100644
--- a/ui/tokenizedtextview.h
+++ b/ui/tokenizedtextview.h
@@ -94,11 +94,18 @@ class BINARYNINJAUIAPI TokenizedTextView: public QAbstractScrollArea, public Vie
void makeFloat64();
void toggleFloatSize();
void makePtr();
- void makeString();
+ void makeString(size_t charSize = 1);
void changeType();
void inferStructureType();
void autoCreateMembers();
- size_t getStringLength(uint64_t startAddr);
+
+ //! Get the length of of the string (if there is one) starting at the
+ //! given address. String type is assumed to be UTF-8 by default, but the
+ //! `charSize` parameter can be set to 2 or 4 to look for UTF-16 or
+ //! UTF-32 string, respectively.
+ //!
+ //! Returns the length of the string in bytes, NOT the number of characters.
+ size_t getStringLength(uint64_t startAddr, size_t charSize = 1);
void setInstructionHighlight(BNHighlightColor color);
void setBlockHighlight(BNHighlightColor color);