@@@ # foreach offset+size iterator command:
x @@@= [addr] [size] ([addr] [size] ...)
x @@@b basic blocks of current function
x @@@c:cmd Same as @@@=`cmd`, without the backticks
x @@@C:cmd comments matching
x @@@i imports
x @@@r registers
x @@@s symbols
x @@@S sections
x @@@m io.maps
x @@@M dbg.maps (See ?$?~size)
x @@@f flags
x @@@f:hit* flags matching glob expression
x @@@F functions (set fcn size which may be incorrect if not linear)
x @@@F:glob functions matching glob expression
x @@@t threads
x @@@r regs
* Fix segfault and trim whitespaces to fix pd @x:9090
* Use maps and io.va=1 to make it work instead of hacky memcpys
* Fix p8f and bring back core->fixedblock to make pd/pD@x:/len work again
pd 10 > $foo # save the output of pd 10 into $foo
$foo # print the contents of $foo (the output)
$* # values are now printed in base64
$foo=base64: # is now supported
* Use r_buf_size to get the size of a buffer, not the private field
* Use r_buf_seek instead of adjusting the private cur RBuffer field
* use r_buf_read instead of r_buf_read_at(.., cur, ..)
* other r_buf_read_at/r_buf_read
* Fix RBuffer usage in REgg
* Wrong replace with r_buf_resize
* Other r_buf_resize fixes
* style fixes
* other style fixes
* Introduce r_buf_tell API instead of using seek
* other style fixes
* style
* style 2
* write_at(cur) == write
* fixes
* avoid changing test
* Make most RBuffer fields private
* Add some fixme comments
* still use base_priv in some places
* Add support for UTF console input in Windows
* Convert ANSI input to UTF-8
* Convert UTF-8 to acp when calling ANSI version of functions
* Determine if Windows console output is UTF-8 on the fly
* Use r_buf_size to get the size of a buffer, not the private field
* Use r_buf_seek instead of adjusting the private cur RBuffer field
* use r_buf_read instead of r_buf_read_at(.., cur, ..)
* Fix RBuffer usage in REgg
* Introduce r_buf_tell API instead of using seek
* write_at(cur) == write
* Do not directly use flags->flags, but use r_flags_foreach functions
* Remove list of flags because unnecessary
* Do not free flagitem when we just need to change the name(aka key)
* Use skiplist to iterate, so we get order for free
* Use RIOMap instead of RIOSection which is being killed
* Free flagitems when ht is freed
There's already the hashtable that can serve to iterate all flagitems.
- Remove the V@ command - not intuitive and a bit alien
- rotating print modes with tab was segfault because of UB
- Implement recursive interactive help
- Support ranged cursor selections (for pxd, pxb, pxq, ...)
- 'i' in pxb visual runs Vd1 to edit the bits under the cursor
- V' is no longer mixed with Vt
- Properly restore the print sub-modes in tabs
- Smart tab key hints (beter located and shorter)
r_num_abs:
- Make r_num_abs static inline
- Use unsigned long long type when defining TB macro
- Use st64 instead of long long
r_num_units:
- Add len argument for buf in r_num_units
- Add PB and EB for r_num_units
- Always display one number after decimal point
* This change simplifies the code
- Use long double type as assigning from ut64 to double cause data loss
r_num_tail_base:
- Use isxdigit (fast) instead of isHexDigit (slower)
- Rename nth to get_nth_nibble
Update all functions to use with new r_num_units:
- Remove side effect when using in other functions like cb_printf
* Trim trailing .0 when input is power of 2
The behavior of the `<ctype.h>` functions is undefined for negative
arguments (other than `EOF`). In such a situation, the argument should
be cast to `unsiged char` for safety.
References:
- C Programming: A Modern Approach, 2nd Edition: page 612, chapter 23.5