* fix out-of-bounds read in r_search_strings_update
* Remove static variables searchhits maplist maxhits first_hit in cmd_search.c
* Change semantics of r_search_hit_new (update kw->count s->nhits in it), return 2 if search.maxhits is reached and stop searching immediately
* honor search.maxhits in r_search_regexp_update
* Refactor _cb_hit, remove bckwrds/do_bckwrd_srch and static cmdhit
* Fix mem leak in regexp.c
* Add support for /d (delta) /bd (backward + delta) when crossing blocksize boundaries
* fix r_search_mybinparse_update when locating `a+a+b` in `a+a+a+b` where len(a) > 1, e.g. locating `ababc` in `abababc`
* fix /d (r_search_deltakey_update) with same issue
* fix search.distance
* fix binmask
* swap the order of the nested loop
* add RSearch::maxhits . More work later
* add RSearch::data for data used by matching algorithm
before:
for (i = 0; i < len; i++)
r_list_foreach (s->kws, iter, kw)
after:
r_list_foreach (s->kws, iter, kw)
for (i = 0; i < len; i++)
rationale:
+ searching for more than one needles is rare. the branches used in inner loop harms performance
+ it's cumbersome to bookkeep for each `kw` in advanced searching algorithms
* Bring back the ';' prefix for comments
* Added sf/sF commands to seek next/previous scr.fkey
* Implement /i to search strings ignoring case
* Fix '@' invalid reads issue
* Added 'cmd.cprompt' for column prompt in visual
* Add 'search.kwidx' to store last search index count
* Added 'ee' to edit with cfg.editor the value of an eval variable
> s 0&&./x 6c..62&&p8 3@@hit
> zb function 89e55383ec....38 # binary mask inline
- works like r_hex_str2bin, but converts binary mask and keyword
* RSign now uses r_cons_printf from core.
* FunctionPrintf typedef to bypass some warnings
* Added r_mem_eq
- Handled by 'S' command
* Added dummy 'z' command to handle zignaturez
- Added more dummy 'az' commands
- RCore now depends on RSign
* Some refactoring and speedup in _update method of RSearch
- Added support for distance search (maybe buggy and incomplete atm)
- Fix binary mask for keywords after previous commit
* Added 'r_str_rwx*' helper functions in r_util
* Fix io.ffio warnings
* Fix '.' key in visual mode (sr pc)
* Various 64bit related fixes
* Various fixes in r2-swig
- Needs valaswig from hg (update)
- r_config and
* Use RMemoryPool and RList in RSearch
- Store hits in RList if no callback defined
* Fix constructor of r_mem_pool if alloc fails in init
* Remove unused file from search/ binparse.c
- Integrated with core 'as' command. as? for help
- Display formatted parametters of syscalls
- Needs to fully implement this everywhere
- Syscall argument parsing is not yet complete (<4args)
- r_debug_arg_{set|get}
* Implement continue until syscall on Linux debugger backend
* Lot of syntax cleanup to use the new code convention
- Clean r_sign, r_search, r_syscall
* Define global R_SYS_ARCH, _OS and _BITS
- Handle asm.os and asm.arch to hook r_syscall plugins
- Display 8 or 16 zeros depending on asm.bits
- Added r_str_filter () to filter nonprintable chars
--HG--
rename : libr/search/stripstr.c => libr/search/strings.c
- 'unowned string' is the correct vala type
- Depends on valaswig tip
- type checking is now more strict
* Build libr.so again for swig bindings
* Added test-r_bin.py
- Fixes ruby warnings
- Follow java syntax conventions
- Helped to identify and fix bugs in many vapis
- Sync swig examples
- Add test-r_core.rb (ruby test for RCore)
* Some work in r_cons, some refactoring and cleanup
- scr.html is now working again
- w32 cons support should work now
- Rename r_cons_get_columns -> r_cons_get_size()
- But it needs more work
* Typedef all r_range, r_parse and r_anal structs
- Add missing r_lib.pc in configure.acr
* 'make' clean now removes the libr* in swig/${LANG}/
- typedef function pointers in r_search (rSearchCallback)
- hide R_API stuff as it should in many .h files
- typedef classes in rCore, rSearch
* Add perl, ruby, python examples for r_asm and r_bp
- Many other libraries are compiled by default
* Adapt r_asm vapi to the current C api (massemble returns rAsmCode)
- dynamically allocatable string buffer
* Rename seek->offset to avoid collisions
- Thanks! :)
* Added dummy r_socket_proc_* api
- Needs to be moved outside r_socket
- Added two non-working usage examples
* Add some checks and enhacements to the r_buf API
- Implemented in r_util.vapi
* R_APIfy the r_cache api
* Add missing methods in r_socket.vapi
* Update the README file in r_anal describing the
new design of r_anal..not yet finished
* Minor cosmetic fixups
* Handle binmask==NULL in all _add methods of r_search
- Added empty declarations of reset() and kw_reset()
* Various random fixes in some vapis
- Remove plugin prefixes
- It was unnecessary complicated
- Remove unused code
- Some RAPIfication
- Rename _set( methods into _use(
- Simplify some string processing
- r_parse is working again
- Sync all those api changes in r_core
- External static plugin lists moved to .c
- Fix some cast-related segfaults in core
* Review the r_search API
- RAPIfication
- Allow to pass NULL as binmask
- Added TODO with some more ideas
* Initial work on integrating the anal_x86_bea plugin
* Adds the concept of 'opcode families'
* Added 'cmdhit' from e cmd.hit
* Fix r_print_hexdump ascii column
* More R_APIziation
* Cleanup some warnings
* Added keyword index attribute to the keyword structure