commit - 52fceb1ec65dc3fe23e98cafd1c0460f775800b4
commit + 24e2f5f6da5cb4f5d0b45db138242e0168171708
blob - f8a40147d2b3f1d7c1d654fb021a0611977aa6fd
blob + 532243c3a1c2ed3dc0ef6709602bdba10339e811
--- FICS/variable.c
+++ FICS/variable.c
#include "stdinclude.h"
#include "common.h"
+#include <stdbool.h>
+
#include "board.h"
#include "command.h"
#include "comproc.h"
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;
}