/* xbt_str.cpp - various helping functions to deal with strings */
-/* Copyright (c) 2007-2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-2021. 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. */
xbt_dynar_t res = xbt_dynar_new(sizeof(char *), nullptr);
char* beg;
char* end; /* pointers around the parsed chunk */
- int in_simple_quote = 0;
- int in_double_quote = 0;
- int done = 0;
- int ctn = 0; /* Got something in this block */
+ bool in_simple_quote = false;
+ bool in_double_quote = false;
+ bool done = false;
+ bool ctn = false; /* Got something in this block */
if (s[0] == '\0')
return res;
while (not done) {
switch (*end) {
case '\\':
- ctn = 1;
+ ctn = true;
/* Protected char; move it closer */
memmove(end, end + 1, strlen(end));
if (*end == '\0')
end++; /* Pass the protected char */
break;
case '\'':
- ctn = 1;
+ ctn = true;
if (not in_double_quote) {
in_simple_quote = not in_simple_quote;
memmove(end, end + 1, strlen(end));
}
break;
case '"':
- ctn = 1;
+ ctn = true;
if (not in_simple_quote) {
in_double_quote = not in_double_quote;
memmove(end, end + 1, strlen(end));
break;
}
if (*end == '\0')
- done = 1;
+ done = true;
*end = '\0';
if (ctn) {
/* Found a separator. Push the string if contains something */
xbt_dynar_push(res, &beg);
}
- ctn = 0;
+ ctn = false;
if (done)
break;
end = beg;
break;
default:
- ctn = 1;
+ ctn = true;
end++;
}
}