Re: [PATCH/RFC v1 0/5] add strbuf_set operations
From: Jeremiah Mahler <hidden>
Date: 2016-06-15 23:01:33
Duy, On Mon, Jun 09, 2014 at 05:39:12PM +0700, Duy Nguyen wrote:
On Mon, Jun 9, 2014 at 3:36 PM, Jeremiah Mahler [off-list ref] wrote:quoted
Currently, the data in a strbuf is modified using add operations. To set the buffer to some data a reset must be performed before an add. strbuf_reset(buf); strbuf_add(buf, cb.buf.buf, cb.buf.len); And this is a common sequence of operations with 70 occurrences found in the current source code. This includes all the different variations (add, addf, addstr, addbuf, addch). FILES=`find ./ -name '*.c'` CNT=$(pcregrep -M "strbuf_reset.*\n.*strbuf_add" $FILES | wc -l)Hmm.. I wonder if git-grep could do this.. There's pcre support but I never tried.
Not sure if git-grep does this. The multi-line (-M) support was the thing I needed.
quoted
CNT=$(echo "$CNT / 2" | bc) echo $CNT 70The change in this series looks nice. There's another pattern, save strbuf length, then strbuf_setlen() at the beginning or the end of a loop. But I think it's less often.
A quick look did not see any obvious patterns for this. I think you are right, there may be fewer cases.
-- Duy
-- Jeremiah Mahler jmmahler@gmail.com http://github.com/jmahler