Skip to content

Commit 798cb32

Browse files
Control the type and value of the number of transients
Co-authored-by: Edward A. Lee <[email protected]>
1 parent 8a1c3cb commit 798cb32

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

core/federated/RTI/main.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ void usage(int argc, const char* argv[]) {
121121
lf_print(" -n, --number_of_federates <n>");
122122
lf_print(" The number of federates in the federation that this RTI will control.\n");
123123
lf_print(" -nt, --number_of_transient_federates <n>");
124-
lf_print(" The number of transient federates in the federation that this RTI will control.\n");
124+
lf_print(" The number of federates that are transient; this must be strictly less than the number of federates.\n");
125125
lf_print(" -p, --port <n>");
126126
lf_print(" The port number to use for the RTI. Must be larger than 0 and smaller than %d. Default is %d.\n", UINT16_MAX, DEFAULT_PORT);
127127
lf_print(" -c, --clock_sync [off|init|on] [period <n>] [exchanges-per-interval <n>]");
@@ -240,12 +240,12 @@ int process_args(int argc, const char* argv[]) {
240240
}
241241
i++;
242242
long num_transient_federates = strtol(argv[i], NULL, 10);
243-
if (num_transient_federates == LONG_MAX || num_transient_federates == LONG_MIN) {
244-
lf_print_error("--number_of_transient_federates needs a valid positive or null integer argument.");
243+
if (num_transient_federates < 0 || num_transient_federates > INT32_MAX) {
244+
lf_print_error("--number_of_transient_federates must be between 0 and INT32_MAX.");
245245
usage(argc, argv);
246246
return 0;
247247
}
248-
rti.number_of_transient_federates = (int32_t)num_transient_federates; // FIXME: Loses numbers on 64-bit machines
248+
rti.number_of_transient_federates = (int32_t)num_transient_federates;
249249
lf_print("RTI: Number of transient federates: %d", rti.number_of_transient_federates);
250250
} else if (strcmp(argv[i], "-p") == 0 || strcmp(argv[i], "--port") == 0) {
251251
if (argc < i + 2) {

0 commit comments

Comments
 (0)