diff --git a/libr/core/cbin.c b/libr/core/cbin.c index b5cade32da612..f0e798ad4a99e 100644 --- a/libr/core/cbin.c +++ b/libr/core/cbin.c @@ -1616,7 +1616,9 @@ static int bin_relocs(RCore *r, int mode, int va) { } // check if name is available - pj_ks (pj, "name", (relname && strcmp (relname, "")) ? relname : "N/A"); + if (relname && *relname) { + pj_ks (pj, "name", relname); + } pj_ks (pj, "demname", mn ? mn : ""); pj_ks (pj, "type", bin_reloc_type_name (reloc)); pj_kn (pj, "vaddr", reloc->vaddr); diff --git a/libr/include/r_util/pj.h b/libr/include/r_util/pj.h index ab37e43b6adbc..81a032fbe2401 100644 --- a/libr/include/r_util/pj.h +++ b/libr/include/r_util/pj.h @@ -28,6 +28,7 @@ R_API PJ *pj_o(PJ *j); R_API PJ *pj_a(PJ *j); /* keys, values */ R_API PJ *pj_k(PJ *j, const char *k); +R_API PJ *pj_knull(PJ *j, const char *k); R_API PJ *pj_kn(PJ *j, const char *k, ut64 n); R_API PJ *pj_kN(PJ *j, const char *k, st64 n); R_API PJ *pj_ks(PJ *j, const char *k, const char *v); @@ -35,6 +36,7 @@ R_API PJ *pj_ki(PJ *j, const char *k, int d); R_API PJ *pj_kd(PJ *j, const char *k, double d); R_API PJ *pj_kf(PJ *j, const char *k, float d); R_API PJ *pj_kb(PJ *j, const char *k, bool v); +R_API PJ *pj_null(PJ *j); R_API PJ *pj_b(PJ *j, bool v); R_API PJ *pj_s(PJ *j, const char *k); R_API PJ *pj_n(PJ *j, ut64 n); diff --git a/libr/util/pj.c b/libr/util/pj.c index 3ffa7f2b365a8..7680b67b36360 100644 --- a/libr/util/pj.c +++ b/libr/util/pj.c @@ -102,6 +102,13 @@ R_API PJ *pj_k(PJ *j, const char *k) { return j; } +R_API PJ *pj_knull(PJ *j, const char *k) { + r_return_val_if_fail (j && k, j); + pj_k (j, k); + pj_null (j); + return j; +} + R_API PJ *pj_kn(PJ *j, const char *k, ut64 n) { r_return_val_if_fail (j && k, j); pj_k (j, k); @@ -152,6 +159,12 @@ R_API PJ *pj_kb(PJ *j, const char *k, bool v) { return j; } +R_API PJ *pj_null(PJ *j) { + r_return_val_if_fail (j, j); + pj_raw (j, "null"); + return j; +} + R_API PJ *pj_b(PJ *j, bool v) { r_return_val_if_fail (j, j); pj_comma (j);