commit 24e2f5f6da5cb4f5d0b45db138242e0168171708 from: Markus Uhlin date: Mon Jul 8 23:07:19 2024 UTC Changed set_interface() commit - 52fceb1ec65dc3fe23e98cafd1c0460f775800b4 commit + 24e2f5f6da5cb4f5d0b45db138242e0168171708 blob - f8a40147d2b3f1d7c1d654fb021a0611977aa6fd blob + 532243c3a1c2ed3dc0ef6709602bdba10339e811 --- FICS/variable.c +++ FICS/variable.c @@ -33,6 +33,8 @@ #include "stdinclude.h" #include "common.h" +#include + #include "board.h" #include "command.h" #include "comproc.h" @@ -404,13 +406,23 @@ set_inc(int p, char *var, char *val) PRIVATE int set_interface(int p, char *var, char *val) { -// int v = -1; + bool truncated = false; + char *cp; + size_t size; - if (!val) + if (val == NULL || strcmp(val, "") == 0) return VAR_BADVAL; -// parray[p].xxx = v; - pprintf(p, "Interface set to %s.\n", val); + cp = &(parray[p].interface[0]); + size = ARRAY_SIZE(parray[p].interface); + + if (strlcpy(cp, val, size) >= size) + truncated = true; + + pprintf(p, "Interface set to %s.\n", cp); + + if (truncated) + pprintf(p, "Interface was truncated!\n"); return VAR_OK; }