aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2019-05-15 14:13:50 +0300
committerSergey Poznyakoff <gray@gnu.org>2019-05-15 14:29:33 +0300
commit7dbea4b03426d8a81dbc6563b96aa760e719f5a8 (patch)
tree96b4b3707414880ff2d40aca8ec34b66f1ee466b /src
parent1658f5685bd396ce6bfd8e4822f4a9363eb4a4c9 (diff)
downloadgrecs-7dbea4b03426d8a81dbc6563b96aa760e719f5a8.tar.gz
grecs-7dbea4b03426d8a81dbc6563b96aa760e719f5a8.tar.bz2
Bugfix
* src/wordsplit.c (wordsplit_finish): Fix typo. (wsplt_assign_param): Use _wsplt_seterr
Diffstat (limited to 'src')
-rw-r--r--src/wordsplit.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/wordsplit.c b/src/wordsplit.c
index 4e633fa..af747b3 100644
--- a/src/wordsplit.c
+++ b/src/wordsplit.c
@@ -828,25 +828,25 @@ wordsplit_finish (struct wordsplit *wsp)
/* Restart the processing, if there's any input left. */
if (wsp->ws_endp < wsp->ws_len)
{
int rc;
if (wsp->ws_flags & WRDSF_SHOWDBG)
wsp->ws_debug (_("Restarting"));
rc = wordsplit_process_list (wsp, skip_delim (wsp));
if (rc)
return rc;
}
else
{
- wsp->ws_error = WRDSE_EOF;
+ wsp->ws_errno = WRDSE_EOF;
return WRDSE_EOF;
}
goto again;
}
if (wsp->ws_flags & WRDSF_NOSPLIT)
{
if (wordsplit_add_segm (wsp, 0, 0, _WSNF_EMPTYOK))
return wsp->ws_errno;
n = 1;
}
}
@@ -1154,25 +1154,25 @@ wsplt_assign_var (struct wordsplit *wsp, const char *name, size_t namelen,
wsp->ws_env[wsp->ws_envidx++] = v;
}
wsp->ws_env[wsp->ws_envidx++] = NULL;
return WRDSE_OK;
}
int
wsplt_assign_param (struct wordsplit *wsp, int param_idx, char *value)
{
char *v;
if (param_idx < 0)
- return WRDSE_BADPARAM;
+ return _wsplt_seterr (wsp, WRDSE_BADPARAM);
if (param_idx == wsp->ws_paramc)
{
char **parambuf;
if (!wsp->ws_parambuf)
{
size_t i;
parambuf = calloc ((size_t)param_idx + 1, sizeof (parambuf[0]));
if (!parambuf)
return _wsplt_nomem (wsp);
for (i = 0; i < wsp->ws_paramc; i++)
@@ -1201,25 +1201,25 @@ wsplt_assign_param (struct wordsplit *wsp, int param_idx, char *value)
parambuf = realloc (wsp->ws_parambuf, n * sizeof (wsp->ws_parambuf[0]));
if (!parambuf)
return _wsplt_nomem (wsp);
wsp->ws_parambuf = parambuf;
wsp->ws_paramsiz = n;
wsp->ws_parambuf[param_idx] = NULL;
}
wsp->ws_paramv = (const char**) wsp->ws_parambuf;
wsp->ws_paramc = param_idx + 1;
}
else if (param_idx > wsp->ws_paramc)
- return WRDSE_BADPARAM;
+ return _wsplt_seterr (wsp, WRDSE_BADPARAM);
v = strdup (value);
if (!v)
return _wsplt_nomem (wsp);
free (wsp->ws_parambuf[param_idx]);
wsp->ws_parambuf[param_idx] = v;
return WRDSE_OK;
}
/* Recover from what looked like a variable reference, but turned out
not to be one. STR points to first character after '$'. */

Return to:

Send suggestions and report system problems to the System administrator.