Display zeros in bytevectors as '0'

This commit is contained in:
Marc Nieper-Wisskirchen 2018-11-08 16:16:07 +01:00
parent f9be5c8d46
commit 5519679dcd

8
sexp.c
View file

@ -2069,8 +2069,12 @@ sexp sexp_write_one (sexp ctx, sexp obj, sexp out) {
for (i=0; i<(sexp_sint_t)len; i++) { for (i=0; i<(sexp_sint_t)len; i++) {
if (i!=0) sexp_write_char(ctx, ' ', out); if (i!=0) sexp_write_char(ctx, ' ', out);
#if SEXP_BYTEVECTOR_HEX_LITERALS #if SEXP_BYTEVECTOR_HEX_LITERALS
sprintf(buf, "#x%02hhX", ((unsigned char*) str)[i]); if (str[i]) {
sexp_write_string(ctx, buf, out); sprintf(buf, "#x%02hhX", ((unsigned char*) str)[i]);
sexp_write_string(ctx, buf, out);
} else {
sexp_write_char (ctx, '0', out);
}
#else #else
sexp_write(ctx, sexp_make_fixnum(((unsigned char*)str)[i]), out); sexp_write(ctx, sexp_make_fixnum(((unsigned char*)str)[i]), out);
#endif #endif