On Thu, Mar 30, 2023 at 04:36:35PM +0200, Peter Seiderer wrote: > Fix trace path name creation for poor man's development boards > (e.g. Raspberry Pi) without RTC (starting at unix epoche aka time 0) > by forcing initial trace_id creation with 6 valid digits. > > Fixes: > > terminate called after throwing an instance of 'std::out_of_range' > what(): basic_string::substr: __pos (which is 5) > this->size() (which is 3) > Aborted > > Signed-off-by: Peter Seiderer <ps.report@xxxxxxx> > --- > utils/v4l2-tracer/v4l2-tracer.cpp | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/utils/v4l2-tracer/v4l2-tracer.cpp b/utils/v4l2-tracer/v4l2-tracer.cpp > index cb873d83..1a9a7d75 100644 > --- a/utils/v4l2-tracer/v4l2-tracer.cpp > +++ b/utils/v4l2-tracer/v4l2-tracer.cpp > @@ -241,11 +241,9 @@ int tracer(int argc, char *argv[], bool retrace) > trace_id = json_file_name.substr(0, json_file_name.find(".json")); > trace_id += "_retrace"; > } else { > - const int timestamp_start_pos = 5; > - trace_id = std::to_string(time(nullptr)); > - // trace_id = trace_id.substr(timestamp_start_pos, std::string::npos) + "_trace"; > + const int timestamp_start_pos = 1; > + trace_id = std::to_string(100000 + time(nullptr) % 100000); > trace_id = trace_id.substr(timestamp_start_pos) + "_trace"; > - Thanks for this patch, I checked and the file names are still working as expected for traced, retraced and cleaned files, so looks good to me. > } > setenv("TRACE_ID", trace_id.c_str(), 0); > std::string trace_filename = trace_id + ".json"; > -- > 2.40.0 >