From efae847690d0df44d5f5f96752b1325d6dbccd23 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Tue, 21 Dec 2021 20:28:11 +0100 Subject: [PATCH] Replace getline(). --- client/TracySysTrace.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/client/TracySysTrace.cpp b/client/TracySysTrace.cpp index 975bc9f7..4c4fdc40 100644 --- a/client/TracySysTrace.cpp +++ b/client/TracySysTrace.cpp @@ -1485,21 +1485,25 @@ void SysTraceGetExternalName( uint64_t thread, const char*& threadName, const ch f = fopen( fn, "rb" ); if( f ) { + char* tmp = (char*)tracy_malloc_fast( 8*1024 ); + const auto fsz = (ptrdiff_t)fread( tmp, 1, 8*1024, f ); + fclose( f ); + int pid = -1; - size_t lsz = 1024; - auto line = (char*)tracy_malloc_fast( lsz ); + auto line = tmp; for(;;) { - auto rd = getline( &line, &lsz, f ); - if( rd <= 0 ) break; if( memcmp( "Tgid:\t", line, 6 ) == 0 ) { pid = atoi( line + 6 ); break; } + while( line - tmp < fsz && *line != '\n' ) line++; + if( *line != '\n' ) break; + line++; } - tracy_free_fast( line ); - fclose( f ); + tracy_free_fast( tmp ); + if( pid >= 0 ) { {