diff --git a/ease.c b/ease.c index 649507a..9edb3b2 100644 --- a/ease.c +++ b/ease.c @@ -760,7 +760,7 @@ static int EaseInit(SConnection * pCon, EaseBase * eab, int argc, SCWrite(pCon, "ERROR: host name too long", eError); return 0; } - strlcpy(buf, argv[0], i); + strncpy(buf, argv[0], i); buf[i] = '\0'; host = buf; } else if (argc == 2) { /* host port syntax */ @@ -975,7 +975,9 @@ int EaseRestartWrapper(void *object, void *userarg, int argc, char *argv[]) eab->ser->pHost = strdup(host); eab->ser->iPort = port; } - EaseStop(eab); + if (eab->task) { + EaseStop(eab); + } EaseRestart(eab); return 0; } diff --git a/pardef.c b/pardef.c index 022e670..aa0ed73 100644 --- a/pardef.c +++ b/pardef.c @@ -568,6 +568,7 @@ static int ParExecute(SConnection * con, SicsInterp * sics, void *object, } else { if (argc == 2) { ctx->enumText = 0; + ctx->argc = 0; ParDo(con, o, PAR_SHOW, argv[1]); } else { ctx->argc = argc - 2;