Whoops. Not sure what happened there. I had it in earlier. I'll change it to sizeof() and resubmit.
-----Original Message----- From: Chris Johns <chr...@rtems.org> Sent: Thursday, September 23, 2021 9:24 PM To: Ryan Long <ryan.l...@oarcorp.com>; devel@rtems.org Subject: Re: [PATCH rtems-tools v2 2/7] TraceReader: Convert to C++ On 24/9/21 7:26 am, Ryan Long wrote: > -bool ReadUntilFound( FILE *file, const char *line ) > +bool ReadUntilFound( std::ifstream& file, const char* line ) > { > - char discardBuff[100]; > - size_t len = strlen( line ); > + #define BUFFER_LENGTH There is no value? > + char discardBuff[BUFFER_LENGTH] = {}; In most cases I prefer this because it saves adding a define ... char discardBuff[100] = {} > + size_t len = strlen( line ); > + > + if ( len > BUFFER_LENGTH ) { then ... if ( len > sizeof(discardBuff) ) { > + std::cerr << "ReadUntilFound(): parameter 'line' is too long" << > std::endl; > + return false; > + } > > do { > - if ( !fgets( discardBuff, 99, file ) ) > + file.read( discardBuff, BUFFER_LENGTH - 2 ); sizeof(discardBuff) here as well. Chris _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel