Commit 3811f48a authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: bch2_printbuf_strip_trailing_newline()



Add a new helper to fix inode_to_text()

Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent babe30fe
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -551,6 +551,8 @@ static void __bch2_inode_unpacked_to_text(struct printbuf *out,
	prt_printf(out, #_name "=%llu\n", (u64) inode->_name);
	BCH_INODE_FIELDS_v3()
#undef  x

	bch2_printbuf_strip_trailing_newline(out);
	printbuf_indent_sub(out, 2);
}

+14 −0
Original line number Diff line number Diff line
@@ -316,6 +316,20 @@ void bch2_prt_newline(struct printbuf *buf)
	buf->cur_tabstop	= 0;
}

void bch2_printbuf_strip_trailing_newline(struct printbuf *out)
{
	for (int p = out->pos - 1; p >= 0; --p) {
		if (out->buf[p] == '\n') {
			out->pos = p;
			break;
		}
		if (out->buf[p] != ' ')
			break;
	}

	printbuf_nul_terminate_reserved(out);
}

static void __prt_tab(struct printbuf *out)
{
	int spaces = max_t(int, 0, cur_tabstop(out) - printbuf_linelen(out));
+1 −0
Original line number Diff line number Diff line
@@ -115,6 +115,7 @@ void bch2_printbuf_indent_add(struct printbuf *, unsigned);
void bch2_printbuf_indent_sub(struct printbuf *, unsigned);

void bch2_prt_newline(struct printbuf *);
void bch2_printbuf_strip_trailing_newline(struct printbuf *);
void bch2_prt_tab(struct printbuf *);
void bch2_prt_tab_rjust(struct printbuf *);