X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/167580ed173f1267354e8e1962a77149e760dcc2..4a69abcc786d029bd2962537f767d12a0f808d11:/src/xbt/xbt_str.cpp diff --git a/src/xbt/xbt_str.cpp b/src/xbt/xbt_str.cpp index fb38748d24..8496a21281 100644 --- a/src/xbt/xbt_str.cpp +++ b/src/xbt/xbt_str.cpp @@ -6,6 +6,7 @@ /* 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 #include "src/internal_config.h" #include "xbt/misc.h" #include "xbt/sysdep.h" @@ -15,13 +16,13 @@ /** @brief Strip whitespace (or other characters) from the end of a string. * * Strips the whitespaces from the end of s. - * By default (when char_list=NULL), these characters get stripped: + * By default (when char_list=nullptr), these characters get stripped: * * - " " (ASCII 32 (0x20)) space. * - "\t" (ASCII 9 (0x09)) tab. * - "\n" (ASCII 10 (0x0A)) line feed. * - "\r" (ASCII 13 (0x0D)) carriage return. - * - "\0" (ASCII 0 (0x00)) NULL. + * - "\0" (ASCII 0 (0x00)) nullptr. * - "\x0B" (ASCII 11 (0x0B)) vertical tab. * * @param s The string to strip. Modified in place. @@ -58,13 +59,13 @@ void xbt_str_rtrim(char *s, const char *char_list) /** @brief Strip whitespace (or other characters) from the beginning of a string. * * Strips the whitespaces from the begining of s. - * By default (when char_list=NULL), these characters get stripped: + * By default (when char_list=nullptr), these characters get stripped: * * - " " (ASCII 32 (0x20)) space. * - "\t" (ASCII 9 (0x09)) tab. * - "\n" (ASCII 10 (0x0A)) line feed. * - "\r" (ASCII 13 (0x0D)) carriage return. - * - "\0" (ASCII 0 (0x00)) NULL. + * - "\0" (ASCII 0 (0x00)) nullptr. * - "\x0B" (ASCII 11 (0x0B)) vertical tab. * * @param s The string to strip. Modified in place. @@ -98,13 +99,13 @@ void xbt_str_ltrim(char *s, const char *char_list) /** @brief Strip whitespace (or other characters) from the end and the begining of a string. * * Strips the whitespaces from both the beginning and the end of s. - * By default (when char_list=NULL), these characters get stripped: + * By default (when char_list=nullptr), these characters get stripped: * * - " " (ASCII 32 (0x20)) space. * - "\t" (ASCII 9 (0x09)) tab. * - "\n" (ASCII 10 (0x0A)) line feed. * - "\r" (ASCII 13 (0x0D)) carriage return. - * - "\0" (ASCII 0 (0x00)) NULL. + * - "\0" (ASCII 0 (0x00)) nullptr. * - "\x0B" (ASCII 11 (0x0B)) vertical tab. * * @param s The string to strip. @@ -170,13 +171,13 @@ char *xbt_str_varsubst(const char *str, xbt_dict_t patterns) * @param s: the string to split * @param sep: a string of all chars to consider as separator. * - * By default (with sep=NULL), these characters are used as separator: + * By default (with sep=nullptr), these characters are used as separator: * * - " " (ASCII 32 (0x20)) space. * - "\t" (ASCII 9 (0x09)) tab. * - "\n" (ASCII 10 (0x0A)) line feed. * - "\r" (ASCII 13 (0x0D)) carriage return. - * - "\0" (ASCII 0 (0x00)) NULL. + * - "\0" (ASCII 0 (0x00)) nullptr. * - "\x0B" (ASCII 11 (0x0B)) vertical tab. */ xbt_dynar_t xbt_str_split(const char *s, const char *sep) @@ -226,7 +227,7 @@ xbt_dynar_t xbt_str_split(const char *s, const char *sep) /** * \brief This functions splits a string after using another string as separator - * For example A!!B!!C splitted after !! will return the dynar {A,B,C} + * For example A!!B!!C split after !! will return the dynar {A,B,C} * \return An array of dynars containing the string tokens */ xbt_dynar_t xbt_str_split_str(const char *s, const char *sep) @@ -250,10 +251,10 @@ xbt_dynar_t xbt_str_split_str(const char *s, const char *sep) while (!done) { char *to_push; int v = 0; - //get the start of the first occurence of the substring + // get the start of the first occurrence of the substring q = strstr(p, sep); //if substring was not found add the entire string - if (NULL == q) { + if (nullptr == q) { v = strlen(p); to_push = (char*) xbt_malloc(v + 1); memcpy(to_push, p, v); @@ -285,7 +286,7 @@ xbt_dynar_t xbt_str_split_str(const char *s, const char *sep) * pushes the address of each chunk in the resulting dynar. Yes, that's uneven. Yes, that's gory. But that's efficient. */ xbt_dynar_t xbt_str_split_quoted_in_place(char *s) { - xbt_dynar_t res = xbt_dynar_new(sizeof(char *), NULL); + xbt_dynar_t res = xbt_dynar_new(sizeof(char *), nullptr); char *beg, *end; /* pointers around the parsed chunk */ int in_simple_quote = 0, in_double_quote = 0; int done = 0; @@ -427,7 +428,7 @@ char *xbt_str_join(xbt_dynar_t dyn, const char *sep) /** @brief Join a set of strings as a single string * - * The parameter must be a NULL-terminated array of chars, + * The parameter must be a nullptr-terminated array of chars, * just like xbt_dynar_to_array() produces */ char *xbt_str_join_array(const char *const *strs, const char *sep) @@ -460,25 +461,6 @@ char *xbt_str_join_array(const char *const *strs, const char *sep) return res; } -/** @brief creates a new string containing what can be read on a fd */ -char *xbt_str_from_file(FILE * file) -{ - xbt_strbuff_t buff = xbt_strbuff_new(); - char *res; - char bread[1024]; - memset(bread, 0, 1024); - - while (!feof(file)) { - int got = fread(bread, 1, 1023, file); - bread[got] = '\0'; - xbt_strbuff_append(buff, bread); - } - - res = buff->data; - xbt_strbuff_free_container(buff); - return res; -} - /** @brief Parse an integer out of a string, or raise an error * * The @a str is passed as argument to your @a error_msg, as follows: @@ -487,7 +469,7 @@ char *xbt_str_from_file(FILE * file) long int xbt_str_parse_int(const char* str, const char* error_msg) { char *endptr; - if (str == NULL || str[0] == '\0') + if (str == nullptr || str[0] == '\0') THROWF(arg_error, 0, error_msg, str); long int res = strtol(str, &endptr, 10); @@ -505,7 +487,7 @@ long int xbt_str_parse_int(const char* str, const char* error_msg) double xbt_str_parse_double(const char* str, const char* error_msg) { char *endptr; - if (str == NULL || str[0] == '\0') + if (str == nullptr || str[0] == '\0') THROWF(arg_error, 0, error_msg, str); double res = strtod(str, &endptr); @@ -516,6 +498,7 @@ double xbt_str_parse_double(const char* str, const char* error_msg) } #ifdef SIMGRID_TEST +#include #include "xbt/str.h" XBT_TEST_SUITE("xbt_str", "String Handling"); @@ -601,7 +584,7 @@ XBT_TEST_UNIT("xbt_str_parse", test_parse, "Test the parsing functions") test_parse_ok(xbt_str_parse_int, "Parse -1 as an int", rint, "-1", -1); test_parse_error(xbt_str_parse_int, "Parse int + noise", rint, "342 cruft"); - test_parse_error(xbt_str_parse_int, "Parse NULL as an int", rint, NULL); + test_parse_error(xbt_str_parse_int, "Parse nullptr as an int", rint, nullptr); test_parse_error(xbt_str_parse_int, "Parse '' as an int", rint, ""); test_parse_error(xbt_str_parse_int, "Parse cruft as an int", rint, "cruft"); @@ -612,7 +595,7 @@ XBT_TEST_UNIT("xbt_str_parse", test_parse, "Test the parsing functions") test_parse_ok(xbt_str_parse_double, "Parse -1 as a double", rdouble, "-1", -1); test_parse_error(xbt_str_parse_double, "Parse double + noise", rdouble, "342 cruft"); - test_parse_error(xbt_str_parse_double, "Parse NULL as a double", rdouble, NULL); + test_parse_error(xbt_str_parse_double, "Parse nullptr as a double", rdouble, nullptr); test_parse_error(xbt_str_parse_double, "Parse '' as a double", rdouble, ""); test_parse_error(xbt_str_parse_double, "Parse cruft as a double", rdouble, "cruft"); }