-/* Copyright (c) 2014. The SimGrid Team.
+/* Copyright (c) 2014-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-#include <stdio.h>
-#include <stdlib.h>
+#include <cstring>
+#include <cstdio>
+#include <cstdlib>
#include <xbt.h>
#include <simgrid/simix.h>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_record, mc,
" Logging specific to MC record/replay facility");
-char* MC_record_path = NULL;
+char* MC_record_path = nullptr;
-void MC_record_replay(mc_record_item_t start, size_t len)
+void MC_record_replay(mc_record_item_t start, std::size_t len)
{
MC_wait_for_requests();
mc_record_item_t end = start + len;
{
XBT_INFO("path=%s", data);
if (!data || !data[0])
- return NULL;
+ return nullptr;
- xbt_dynar_t dynar = xbt_dynar_new(sizeof(s_mc_record_item_t), NULL);
+ xbt_dynar_t dynar = xbt_dynar_new(sizeof(s_mc_record_item_t), nullptr);
const char* current = data;
while (*current) {
xbt_dynar_push(dynar, &item);
// Find next chunk:
- const char* end = strchr(current, ';');
- if(end==NULL)
+ const char* end = std::strchr(current, ';');
+ if(end == nullptr)
break;
else
current = end + 1;
fail:
xbt_dynar_free(&dynar);
- return NULL;
+ return nullptr;
}
#ifdef HAVE_MC
static char* MC_record_stack_to_string_liveness(xbt_fifo_t stack)
{
char* buffer;
- size_t size;
- FILE* file = open_memstream(&buffer, &size);
+ std::size_t size;
+ std::FILE* file = open_memstream(&buffer, &size);
xbt_fifo_item_t item;
xbt_fifo_item_t start = xbt_fifo_get_last_item(stack);
// Serialization the (pid, value) pair:
const char* sep = (item!=start) ? ";" : "";
if (value)
- fprintf(file, "%s%u/%u", sep, pid, value);
+ std::fprintf(file, "%s%u/%u", sep, pid, value);
else
- fprintf(file, "%s%u", sep, pid);
+ std::fprintf(file, "%s%u", sep, pid);
}
}
- fclose(file);
+ std::fclose(file);
return buffer;
}
}
char* buffer;
- size_t size;
- FILE* file = open_memstream(&buffer, &size);
+ std::size_t size;
+ std::FILE* file = open_memstream(&buffer, &size);
xbt_fifo_item_t item;
for (item = start; item; item = xbt_fifo_get_prev_item(item)) {
// Serialization the (pid, value) pair:
const char* sep = (item!=start) ? ";" : "";
if (value)
- fprintf(file, "%s%u/%u", sep, pid, value);
+ std::fprintf(file, "%s%u/%u", sep, pid, value);
else
- fprintf(file, "%s%u", sep, pid);
+ std::fprintf(file, "%s%u", sep, pid);
}
- fclose(file);
+ std::fclose(file);
return buffer;
}
if (MC_record_is_active()) {
char* path = MC_record_stack_to_string(stack);
XBT_INFO("Path = %s", path);
- free(path);
+ std::free(path);
}
}
#endif