mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-12 09:38:20 +00:00
Wip fixes for r_strbuf
This commit is contained in:
parent
72d289ff4d
commit
ce7ca97cb6
@ -432,7 +432,6 @@ R_API RAsmCode* r_asm_mdisassemble(RAsm *a, const ut8 *buf, int len) {
|
|||||||
r_strbuf_append (buf_asm, "\n");
|
r_strbuf_append (buf_asm, "\n");
|
||||||
}
|
}
|
||||||
acode->buf_asm = r_strbuf_drain (buf_asm);
|
acode->buf_asm = r_strbuf_drain (buf_asm);
|
||||||
|
|
||||||
acode->len = idx;
|
acode->len = idx;
|
||||||
return acode;
|
return acode;
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ R_API bool r_strbuf_set(RStrBuf *sb, const char *s) {
|
|||||||
l = strlen (s);
|
l = strlen (s);
|
||||||
if (l >= sizeof (sb->buf)) {
|
if (l >= sizeof (sb->buf)) {
|
||||||
char *ptr = sb->ptr;
|
char *ptr = sb->ptr;
|
||||||
if (l+1 > sb->ptrlen) {
|
if (!ptr || l+1 > sb->ptrlen) {
|
||||||
ptr = malloc (l + 1);
|
ptr = malloc (l + 1);
|
||||||
if (!ptr) return false;
|
if (!ptr) return false;
|
||||||
sb->ptrlen = l + 1;
|
sb->ptrlen = l + 1;
|
||||||
@ -72,11 +72,10 @@ R_API int r_strbuf_append(RStrBuf *sb, const char *s) {
|
|||||||
sb->ptr = NULL;
|
sb->ptr = NULL;
|
||||||
} else {
|
} else {
|
||||||
int newlen = sb->len + l + 128;
|
int newlen = sb->len + l + 128;
|
||||||
char *p;
|
char *p = sb->ptr;
|
||||||
if (!sb->ptr) {
|
if (!sb->ptr) {
|
||||||
p = malloc (newlen);
|
p = malloc (newlen);
|
||||||
}
|
} else if (newlen > sb->ptrlen) {
|
||||||
if (sb->len + l + 1 > sb->ptrlen) {
|
|
||||||
p = realloc (sb->ptr, newlen);
|
p = realloc (sb->ptr, newlen);
|
||||||
}
|
}
|
||||||
if (!p) return false;
|
if (!p) return false;
|
||||||
@ -111,14 +110,8 @@ R_API int r_strbuf_appendf(RStrBuf *sb, const char *fmt, ...) {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: rename to tostring()
|
|
||||||
R_API char *r_strbuf_get(RStrBuf *sb) {
|
R_API char *r_strbuf_get(RStrBuf *sb) {
|
||||||
if (sb) {
|
return sb? (sb->ptr? sb->ptr: sb->buf) : NULL;
|
||||||
if (sb->ptr)
|
|
||||||
return sb->ptr;
|
|
||||||
return sb->buf;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
R_API char *r_strbuf_drain(RStrBuf *sb) {
|
R_API char *r_strbuf_drain(RStrBuf *sb) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user