1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Accumulated fixes for minor issues (#442)

This commit applies various accumulated bugfixes:

- Applied some fixes for compiler warnings based off of the
  following pull requests (with whitespace changes excluded to
  avoid inflating the size of the diff):

  https://github.com/att/ast/pull/281
  https://github.com/att/ast/pull/283
  https://github.com/att/ast/pull/303
  https://github.com/att/ast/pull/304

- clone_type(): Two separate variables in this function share the
  same name. A bugfix from ksh93v- 2013-05-24 was backported to
  avoid conflict issues.

- Backported a minor error message improvement from ksh2020 for
  when the user attempts to run too many coprocesses.

- Backported a ksh2020 bugfix for a file descriptor leak:
  58bc8b56

- Backported ksh2020 bugfixes for unused variable and pointless
  assignment lint warnings:
  47650fe0
  df209c0d
  5e417b00

- Applied a few minor improvements to libast from graphviz:
  e7c03541
  969a7cde

- dtmemory(): Mark unused parameters with NOT_USED(). Based on:
  6ac3ad99

- Applied a few documentation/comment tweaks for the NEWS file,
  printf -v and spawnveg.

- Added a missing regression test for using the rm builtin's -f
  option without additional arguments (this was fixed in
  ksh93u+ 2012-02-14).
This commit is contained in:
Johnothan King 2022-01-30 12:09:14 -08:00 committed by Martijn Dekker
parent e3a1dda93a
commit ad9f9ff13e
23 changed files with 78 additions and 59 deletions

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1982-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -2268,10 +2268,8 @@ static void comsubst(Mac_t *mp,register Shnode_t* t, int type)
str[c] = 0;
else
{
ssize_t len = 1;
/* can't write past buffer so save last character */
c -= len;
c -= 1;
lastc = str[c];
str[c] = 0;
}

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1982-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -744,7 +744,9 @@ static void outval(char *name, const char *vname, struct Walk *wp)
{
if(*name!='.')
{
#if SHOPT_FIXEDARRAY
Namarr_t *ap;
#endif
nv_attribute(np,wp->out,"typeset",'=');
#if SHOPT_FIXEDARRAY
if((ap=nv_arrayptr(np)) && ap->fixed)

View file

@ -2,7 +2,7 @@
* *
* This software is part of the ast package *
* Copyright (c) 1982-2012 AT&T Intellectual Property *
* Copyright (c) 2020-2021 Contributors to ksh 93u+m *
* Copyright (c) 2020-2022 Contributors to ksh 93u+m *
* and is licensed under the *
* Eclipse Public License, Version 1.0 *
* by AT&T Intellectual Property *
@ -430,11 +430,11 @@ static Namfun_t *clone_type(Namval_t* np, Namval_t *mp, int flags, Namfun_t *fp)
nv_putsub(nq,cp,ARRAY_ADD|ARRAY_NOSCOPE);
if(array_assoc(ap))
{
Namval_t *mp = (Namval_t*)((*ap->fun)(nr,NIL(char*),NV_ACURRENT));
Namval_t *mr = (Namval_t*)((*ap->fun)(nr,NIL(char*),NV_ACURRENT));
Namval_t *mq = (Namval_t*)((*ap->fun)(nq,NIL(char*),NV_ACURRENT));
nv_clone(mp,mq,NV_MOVE);
nv_clone(mr,mq,NV_MOVE);
ap->nelem--;
nv_delete(mp,ap->table,0);
nv_delete(mr,ap->table,0);
}
else
{

View file

@ -770,7 +770,9 @@ Pathcomp_t *path_absolute(register const char *name, Pathcomp_t *pp, int flag)
Pathcomp_t *oldpp;
Namval_t *np;
char *cp;
#if SHOPT_DYNAMIC
char *bp;
#endif
sh.path_err = ENOENT;
if(!pp && !(pp=path_get(Empty)))
return(0);
@ -885,7 +887,10 @@ Pathcomp_t *path_absolute(register const char *name, Pathcomp_t *pp, int flag)
{
*cp = 0;
if(nv_open(name,sh_subfuntree(1),NV_NOARRAY|NV_IDENT|NV_NOSCOPE))
{
sh_close(f);
f = -1;
}
*cp = '.';
}
if(isfun && f>=0)
@ -895,7 +900,7 @@ Pathcomp_t *path_absolute(register const char *name, Pathcomp_t *pp, int flag)
nv_onattr(nv_open(name,sh_subfuntree(1),NV_NOARRAY|NV_IDENT|NV_NOSCOPE),NV_LTOU|NV_FUNCTION);
funload(f,name);
}
close(f);
sh_close(f);
return(0);
}
else if(f>=0 && (oldpp->flags & PATH_STD_DIR))

View file

@ -3401,7 +3401,7 @@ static void coproc_init(int pipes[])
int outfd;
if(sh.coutpipe>=0 && sh.cpid)
{
errormsg(SH_DICT,ERROR_exit(1),e_pexists);
errormsg(SH_DICT,ERROR_exit(1),e_copexists);
UNREACHABLE();
}
sh.cpid = 0;