#! /usr/bin/env perl
-# Copyright (c) 2005-2012, 2014. The SimGrid Team. All rights reserved.
+# Copyright (c) 2005-2012, 2014-2017. 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.
print OUT "#include <stdio.h>\n\n";
print OUT "#include \"xbt.h\"\n\n";
print OUT "extern xbt_test_unit_t _xbt_current_unit;\n\n";
+ print OUT "#define STRLEN 1024\n";
print OUT "/* SGU: BEGIN PROTOTYPES */\n";
print OUT "/* SGU: END PROTOTYPES */\n\n";
print OUT $GENERATED;
print OUT <<EOF;
int main(int argc, char *argv[]) {
xbt_test_suite_t suite;
- char selection[1024];
+ char selection[STRLEN];
int verbosity = 0;
int i;
int res;
for (i=1;i<argc;i++) {
if (!strncmp(argv[i],\"--tests=\",strlen(\"--tests=\"))) {
char *p=strchr(argv[i],'=')+1;
- if (selection[0] == '\\0') {
- strcpy(selection, p);
- } else {
- strcat(selection, \",\");
- strcat(selection, p);
- }
+ if (selection[0] != '\\0')
+ strncat(selection, \",\", STRLEN - 1 - strlen(selection));
+ strncat(selection, p, STRLEN - 1 - strlen(selection));
} else if (!strcmp(argv[i], \"--verbose\")) {
verbosity++;
} else if (!strcmp(argv[i], \"--dump-only\")||