From 4d4b6c7ac97cbc961250d66b720a9316858d3be3 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Tue, 18 Aug 2020 19:51:02 +0200 Subject: [PATCH] Use memchr() to find newline in memory block. --- client/TracySysTrace.cpp | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/client/TracySysTrace.cpp b/client/TracySysTrace.cpp index 165fa033..88eb87ad 100644 --- a/client/TracySysTrace.cpp +++ b/client/TracySysTrace.cpp @@ -1102,19 +1102,16 @@ static void ProcessTraceLines( int fd ) line = buf; for(;;) { - auto next = line; - while( next < end && *next != '\n' ) next++; - next++; - if( next >= end ) + auto next = (char*)memchr( line, '\n', end - line ); + if( !next ) { const auto lsz = end - line; memmove( buf, line, lsz ); line = buf + lsz; break; } - HandleTraceLine( line ); - line = next; + line = ++next; } if( rd < 64*1024 ) { @@ -1189,14 +1186,10 @@ static void ProcessTraceLines( int fd ) const auto end = buf + rd; for(;;) { - auto next = line; - while( next < end && *next != '\n' ) next++; - if( next == end ) break; - assert( *next == '\n' ); - next++; - + auto next = (char*)memchr( line, '\n', end - line ); + if( !next ) break; HandleTraceLine( line ); - line = next; + line = ++next; } }