* Fix build of r_util
* Added r_bprintf helper for buffering printfs
- Can be used to capture the output of r_io_handle_list()
without having to use r_cons
This commit is contained in:
parent
1ee0247b94
commit
3cfdaff55f
2 changed files with 28 additions and 3 deletions
|
|
@ -23,7 +23,7 @@ R_API ut64 r_num_htonq(ut64 value) {
|
|||
R_API int r_num_rand(int max)
|
||||
{
|
||||
// TODO: add srand here for security and so on
|
||||
return rand(max);
|
||||
return rand()%max;
|
||||
}
|
||||
|
||||
R_API void r_num_minmax_swap(ut64 *a, ut64 *b)
|
||||
|
|
|
|||
|
|
@ -93,10 +93,10 @@ R_API int r_str_char_count(const char *string, char ch)
|
|||
|
||||
R_API int r_str_word_count(const char *string)
|
||||
{
|
||||
char *text, *tmp;
|
||||
const char *text, *tmp;
|
||||
int word = 0;
|
||||
|
||||
for(text=tmp=string;(*text)&&(isseparator(*text));text=text+1);
|
||||
for(text=tmp=string;(*text)&&(isseparator(*text));text++);
|
||||
|
||||
for(word = 0; *text; word++) {
|
||||
for(;*text && !isseparator(*text);text = text +1);
|
||||
|
|
@ -439,6 +439,31 @@ R_API const char *r_str_ansi_chrn(const char *str, int n)
|
|||
return str+i;
|
||||
}
|
||||
|
||||
// TODO: make it dynamic
|
||||
static int bprintf_init = 0;
|
||||
static char bprintf_buf[4096];
|
||||
|
||||
// XXX overflow
|
||||
R_API int r_bprintf(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
if (bprintf_init==0)
|
||||
*bprintf_buf = 0;
|
||||
va_start(ap, fmt);
|
||||
r_str_concatf(bprintf_buf, fmt, ap);
|
||||
va_end(ap);
|
||||
return strlen(bprintf_buf);
|
||||
}
|
||||
|
||||
R_API char *r_bprintf_get()
|
||||
{
|
||||
char *s;
|
||||
if (bprintf_init==0)
|
||||
*bprintf_buf = 0;
|
||||
s = strdup(bprintf_buf);
|
||||
bprintf_buf[0]='\0';
|
||||
return s;
|
||||
}
|
||||
|
||||
#if 0
|
||||
int r_str_argv_parse(const char *str, int argc, char **argv)
|
||||
|
|
|
|||
Loading…
Reference in a new issue