X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9104957deccc59e0e804215d5db498fabfd40d29..39c935d6d5ee86d153f6f7e6a10d723ae7c57f6f:/src/xbt/xbt_log_appender_file.cpp diff --git a/src/xbt/xbt_log_appender_file.cpp b/src/xbt/xbt_log_appender_file.cpp index 344dab7e27..fd5c34a8e9 100644 --- a/src/xbt/xbt_log_appender_file.cpp +++ b/src/xbt/xbt_log_appender_file.cpp @@ -1,6 +1,6 @@ /* file_appender - a dumb log appender which simply prints to a file */ -/* Copyright (c) 2007-2020. The SimGrid Team. +/* Copyright (c) 2007-2021. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -51,7 +51,7 @@ struct xbt_log_append2_file_s { int count; //negative for roll long int limit; }; -typedef struct xbt_log_append2_file_s* xbt_log_append2_file_t; +using xbt_log_append2_file_t = xbt_log_append2_file_s*; static constexpr const char* APPEND2_END_TOKEN = "\n[End of log]\n"; static constexpr const char* APPEND2_END_TOKEN_CLEAR = "\n "; @@ -71,25 +71,24 @@ static void open_append2_file(xbt_log_append2_file_t data){ //Split if(data->file) fclose(data->file); - char newname[512]; char* pre=xbt_strdup(data->filename); char* sep=strchr(pre,'%'); if(!sep) sep=pre+strlen(pre); - char* post=sep+1; - *sep='\0'; - snprintf(newname,511,"%s%i%s",pre,data->count,post); + const char* post = sep + 1; + *sep = '\0'; + std::string newname = pre + std::to_string(data->count) + post; data->count++; - data->file= fopen(newname, "w"); + data->file = fopen(newname.c_str(), "w"); if (data->file == nullptr) - xbt_die("Cannot open file: %s: %s", newname, strerror(errno)); + xbt_die("Cannot open file: %s: %s", newname.c_str(), strerror(errno)); xbt_free(pre); } } static void append2_file(const s_xbt_log_appender_t* this_, const char* str) { - xbt_log_append2_file_t d = (xbt_log_append2_file_t)this_->data; + auto* d = static_cast(this_->data); xbt_assert(d->file); if (ftell(d->file) >= d->limit) { open_append2_file(d); @@ -103,7 +102,7 @@ static void append2_file(const s_xbt_log_appender_t* this_, const char* str) static void free_append2_(const s_xbt_log_appender_t* this_) { - xbt_log_append2_file_t data = static_cast(this_->data); + auto* data = static_cast(this_->data); if (data->file) fclose(data->file); xbt_free(data->filename);