address latest Debian gcc-snapshot’s warnings (some actual bugs!)
This commit is contained in:
parent
e8d6b5c2a3
commit
cb0604767f
6
check.t
6
check.t
@ -1,4 +1,4 @@
|
|||||||
# $MirOS: src/bin/mksh/check.t,v 1.726 2016/03/01 18:30:01 tg Exp $
|
# $MirOS: src/bin/mksh/check.t,v 1.727 2016/03/04 14:26:09 tg Exp $
|
||||||
# -*- mode: sh -*-
|
# -*- mode: sh -*-
|
||||||
#-
|
#-
|
||||||
# Copyright © 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
# Copyright © 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
|
||||||
@ -30,7 +30,7 @@
|
|||||||
# (2013/12/02 20:39:44) http://openbsd.cs.toronto.edu/cgi-bin/cvsweb/src/regress/bin/ksh/?sortby=date
|
# (2013/12/02 20:39:44) http://openbsd.cs.toronto.edu/cgi-bin/cvsweb/src/regress/bin/ksh/?sortby=date
|
||||||
|
|
||||||
expected-stdout:
|
expected-stdout:
|
||||||
@(#)MIRBSD KSH R52 2016/03/01
|
@(#)MIRBSD KSH R52 2016/03/04
|
||||||
description:
|
description:
|
||||||
Check version of shell.
|
Check version of shell.
|
||||||
stdin:
|
stdin:
|
||||||
@ -39,7 +39,7 @@ name: KSH_VERSION
|
|||||||
category: shell:legacy-no
|
category: shell:legacy-no
|
||||||
---
|
---
|
||||||
expected-stdout:
|
expected-stdout:
|
||||||
@(#)LEGACY KSH R52 2016/03/01
|
@(#)LEGACY KSH R52 2016/03/04
|
||||||
description:
|
description:
|
||||||
Check version of legacy shell.
|
Check version of legacy shell.
|
||||||
stdin:
|
stdin:
|
||||||
|
6
edit.c
6
edit.c
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
#ifndef MKSH_NO_CMDLINE_EDITING
|
#ifndef MKSH_NO_CMDLINE_EDITING
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/edit.c,v 1.293 2016/01/21 18:24:37 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/edit.c,v 1.294 2016/03/04 14:26:12 tg Exp $");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* in later versions we might use libtermcap for this, but since external
|
* in later versions we might use libtermcap for this, but since external
|
||||||
@ -4597,8 +4597,8 @@ vi_cmd(int argcnt, const char *cmd)
|
|||||||
static int
|
static int
|
||||||
domove(int argcnt, const char *cmd, int sub)
|
domove(int argcnt, const char *cmd, int sub)
|
||||||
{
|
{
|
||||||
int bcount, i = 0, t;
|
int ncursor = 0, i = 0, t;
|
||||||
int ncursor = 0;
|
unsigned int bcount;
|
||||||
|
|
||||||
switch (*cmd) {
|
switch (*cmd) {
|
||||||
case 'b':
|
case 'b':
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/histrap.c,v 1.155 2016/03/01 18:29:48 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/histrap.c,v 1.156 2016/03/04 14:26:13 tg Exp $");
|
||||||
|
|
||||||
Trap sigtraps[ksh_NSIG + 1];
|
Trap sigtraps[ksh_NSIG + 1];
|
||||||
static struct sigaction Sigact_ign;
|
static struct sigaction Sigact_ign;
|
||||||
@ -1017,16 +1017,19 @@ inittraps(void)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
const char *cs;
|
const char *cs;
|
||||||
|
#if !HAVE_SYS_SIGNAME
|
||||||
|
const struct mksh_sigpair *pair;
|
||||||
|
#endif
|
||||||
|
|
||||||
trap_exstat = -1;
|
trap_exstat = -1;
|
||||||
|
|
||||||
/* Populate sigtraps based on sys_signame and sys_siglist. */
|
/* populate sigtraps based on sys_signame and sys_siglist */
|
||||||
for (i = 1; i < ksh_NSIG; i++) {
|
for (i = 1; i < ksh_NSIG; i++) {
|
||||||
sigtraps[i].signal = i;
|
sigtraps[i].signal = i;
|
||||||
#if HAVE_SYS_SIGNAME
|
#if HAVE_SYS_SIGNAME
|
||||||
cs = sys_signame[i];
|
cs = sys_signame[i];
|
||||||
#else
|
#else
|
||||||
const struct mksh_sigpair *pair = mksh_sigpairs;
|
pair = mksh_sigpairs;
|
||||||
while ((pair->nr != i) && (pair->name != NULL))
|
while ((pair->nr != i) && (pair->name != NULL))
|
||||||
++pair;
|
++pair;
|
||||||
cs = pair->name;
|
cs = pair->name;
|
||||||
|
6
jobs.c
6
jobs.c
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/jobs.c,v 1.119 2016/02/24 01:44:45 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/jobs.c,v 1.120 2016/03/04 14:26:13 tg Exp $");
|
||||||
|
|
||||||
#if HAVE_KILLPG
|
#if HAVE_KILLPG
|
||||||
#define mksh_killpg killpg
|
#define mksh_killpg killpg
|
||||||
@ -1425,8 +1425,8 @@ check_job(Job *j)
|
|||||||
|
|
||||||
/* XXX debugging (nasty - interrupt routine using shl_out) */
|
/* XXX debugging (nasty - interrupt routine using shl_out) */
|
||||||
if (!(j->flags & JF_STARTED)) {
|
if (!(j->flags & JF_STARTED)) {
|
||||||
internal_warningf("check_job: job started (flags 0x%x)",
|
internal_warningf("check_job: job started (flags 0x%X)",
|
||||||
j->flags);
|
(unsigned int)j->flags);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
4
misc.c
4
misc.c
@ -30,7 +30,7 @@
|
|||||||
#include <grp.h>
|
#include <grp.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/misc.c,v 1.241 2016/01/21 18:24:43 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/misc.c,v 1.242 2016/03/04 14:26:13 tg Exp $");
|
||||||
|
|
||||||
#define KSH_CHVT_FLAG
|
#define KSH_CHVT_FLAG
|
||||||
#ifdef MKSH_SMALL
|
#ifdef MKSH_SMALL
|
||||||
@ -1291,7 +1291,7 @@ print_columns(struct shf *shf, unsigned int n,
|
|||||||
shf_puts(str, shf);
|
shf_puts(str, shf);
|
||||||
else
|
else
|
||||||
shf_fprintf(shf, "%*s%*s",
|
shf_fprintf(shf, "%*s%*s",
|
||||||
max_col, str, nspace, null);
|
(int)max_col, str, (int)nspace, null);
|
||||||
}
|
}
|
||||||
shf_putchar('\n', shf);
|
shf_putchar('\n', shf);
|
||||||
}
|
}
|
||||||
|
12
sh.h
12
sh.h
@ -175,9 +175,9 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef EXTERN
|
#ifdef EXTERN
|
||||||
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.766 2016/03/01 18:30:05 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/sh.h,v 1.767 2016/03/04 14:26:14 tg Exp $");
|
||||||
#endif
|
#endif
|
||||||
#define MKSH_VERSION "R52 2016/03/01"
|
#define MKSH_VERSION "R52 2016/03/04"
|
||||||
|
|
||||||
/* arithmetic types: C implementation */
|
/* arithmetic types: C implementation */
|
||||||
#if !HAVE_CAN_INTTYPES
|
#if !HAVE_CAN_INTTYPES
|
||||||
@ -850,11 +850,13 @@ EXTERN struct {
|
|||||||
/* null value for variable; comparison pointer for unset */
|
/* null value for variable; comparison pointer for unset */
|
||||||
EXTERN char null[] E_INIT("");
|
EXTERN char null[] E_INIT("");
|
||||||
/* helpers for string pooling */
|
/* helpers for string pooling */
|
||||||
EXTERN const char Tintovfl[] E_INIT("integer overflow %zu %c %zu prevented");
|
|
||||||
EXTERN const char Toomem[] E_INIT("can't allocate %zu data bytes");
|
|
||||||
#if defined(__GNUC__)
|
#if defined(__GNUC__)
|
||||||
#define Tsynerr "syntax error"
|
#define Tsynerr "syntax error"
|
||||||
|
#define Tintovfl "integer overflow %zu %c %zu prevented"
|
||||||
|
#define Toomem "can't allocate %zu data bytes"
|
||||||
#else
|
#else
|
||||||
|
EXTERN const char Tintovfl[] E_INIT("integer overflow %zu %c %zu prevented");
|
||||||
|
EXTERN const char Toomem[] E_INIT("can't allocate %zu data bytes");
|
||||||
EXTERN const char Tsynerr[] E_INIT("syntax error");
|
EXTERN const char Tsynerr[] E_INIT("syntax error");
|
||||||
#endif
|
#endif
|
||||||
EXTERN const char Tselect[] E_INIT("select");
|
EXTERN const char Tselect[] E_INIT("select");
|
||||||
@ -2011,7 +2013,7 @@ char *shf_smprintf(const char *, ...)
|
|||||||
ssize_t shf_vfprintf(struct shf *, const char *, va_list)
|
ssize_t shf_vfprintf(struct shf *, const char *, va_list)
|
||||||
MKSH_A_FORMAT(__printf__, 2, 0);
|
MKSH_A_FORMAT(__printf__, 2, 0);
|
||||||
/* syn.c */
|
/* syn.c */
|
||||||
int assign_command(const char *, bool);
|
int assign_command(const char *, bool) MKSH_A_PURE;
|
||||||
void initkeywords(void);
|
void initkeywords(void);
|
||||||
struct op *compile(Source *, bool);
|
struct op *compile(Source *, bool);
|
||||||
bool parse_usec(const char *, struct timeval *);
|
bool parse_usec(const char *, struct timeval *);
|
||||||
|
85
shf.c
85
shf.c
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011,
|
* Copyright (c) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011,
|
||||||
* 2012, 2013, 2015
|
* 2012, 2013, 2015, 2016
|
||||||
* mirabilos <m@mirbsd.org>
|
* mirabilos <m@mirbsd.org>
|
||||||
*
|
*
|
||||||
* Provided that these terms and disclaimer and all copyright notices
|
* Provided that these terms and disclaimer and all copyright notices
|
||||||
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/shf.c,v 1.69 2015/12/31 20:38:59 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/shf.c,v 1.70 2016/03/04 14:26:16 tg Exp $");
|
||||||
|
|
||||||
/* flags to shf_emptybuf() */
|
/* flags to shf_emptybuf() */
|
||||||
#define EB_READSW 0x01 /* about to switch to reading */
|
#define EB_READSW 0x01 /* about to switch to reading */
|
||||||
@ -197,7 +197,8 @@ shf_sopen(char *buf, ssize_t bsize, int sflags, struct shf *shf)
|
|||||||
{
|
{
|
||||||
/* can't have a read+write string */
|
/* can't have a read+write string */
|
||||||
if (!(!(sflags & SHF_RD) ^ !(sflags & SHF_WR)))
|
if (!(!(sflags & SHF_RD) ^ !(sflags & SHF_WR)))
|
||||||
internal_errorf("%s: flags 0x%X", "shf_sopen", sflags);
|
internal_errorf("%s: flags 0x%X", "shf_sopen",
|
||||||
|
(unsigned int)sflags);
|
||||||
|
|
||||||
if (!shf) {
|
if (!shf) {
|
||||||
shf = alloc(sizeof(struct shf), ATEMP);
|
shf = alloc(sizeof(struct shf), ATEMP);
|
||||||
@ -452,7 +453,8 @@ shf_read(char *buf, ssize_t bsize, struct shf *shf)
|
|||||||
ssize_t ncopy, orig_bsize = bsize;
|
ssize_t ncopy, orig_bsize = bsize;
|
||||||
|
|
||||||
if (!(shf->flags & SHF_RD))
|
if (!(shf->flags & SHF_RD))
|
||||||
internal_errorf("%s: flags 0x%X", "shf_read", shf->flags);
|
internal_errorf("%s: flags 0x%X", "shf_read",
|
||||||
|
(unsigned int)shf->flags);
|
||||||
|
|
||||||
if (bsize <= 0)
|
if (bsize <= 0)
|
||||||
internal_errorf("%s: %s %zd", "shf_write", "bsize", bsize);
|
internal_errorf("%s: %s %zd", "shf_write", "bsize", bsize);
|
||||||
@ -489,7 +491,8 @@ shf_getse(char *buf, ssize_t bsize, struct shf *shf)
|
|||||||
char *orig_buf = buf;
|
char *orig_buf = buf;
|
||||||
|
|
||||||
if (!(shf->flags & SHF_RD))
|
if (!(shf->flags & SHF_RD))
|
||||||
internal_errorf("%s: flags 0x%X", "shf_getse", shf->flags);
|
internal_errorf("%s: flags 0x%X", "shf_getse",
|
||||||
|
(unsigned int)shf->flags);
|
||||||
|
|
||||||
if (bsize <= 0)
|
if (bsize <= 0)
|
||||||
return (NULL);
|
return (NULL);
|
||||||
@ -525,7 +528,8 @@ int
|
|||||||
shf_getchar(struct shf *shf)
|
shf_getchar(struct shf *shf)
|
||||||
{
|
{
|
||||||
if (!(shf->flags & SHF_RD))
|
if (!(shf->flags & SHF_RD))
|
||||||
internal_errorf("%s: flags 0x%X", "shf_getchar", shf->flags);
|
internal_errorf("%s: flags 0x%X", "shf_getchar",
|
||||||
|
(unsigned int)shf->flags);
|
||||||
|
|
||||||
if (shf->rnleft == 0 && (shf_fillbuf(shf) == -1 || shf->rnleft == 0))
|
if (shf->rnleft == 0 && (shf_fillbuf(shf) == -1 || shf->rnleft == 0))
|
||||||
return (-1);
|
return (-1);
|
||||||
@ -541,7 +545,8 @@ int
|
|||||||
shf_ungetc(int c, struct shf *shf)
|
shf_ungetc(int c, struct shf *shf)
|
||||||
{
|
{
|
||||||
if (!(shf->flags & SHF_RD))
|
if (!(shf->flags & SHF_RD))
|
||||||
internal_errorf("%s: flags 0x%X", "shf_ungetc", shf->flags);
|
internal_errorf("%s: flags 0x%X", "shf_ungetc",
|
||||||
|
(unsigned int)shf->flags);
|
||||||
|
|
||||||
if ((shf->flags & SHF_ERROR) || c == -1 ||
|
if ((shf->flags & SHF_ERROR) || c == -1 ||
|
||||||
(shf->rp == shf->buf && shf->rnleft))
|
(shf->rp == shf->buf && shf->rnleft))
|
||||||
@ -578,7 +583,8 @@ int
|
|||||||
shf_putchar(int c, struct shf *shf)
|
shf_putchar(int c, struct shf *shf)
|
||||||
{
|
{
|
||||||
if (!(shf->flags & SHF_WR))
|
if (!(shf->flags & SHF_WR))
|
||||||
internal_errorf("%s: flags 0x%X", "shf_putchar", shf->flags);
|
internal_errorf("%s: flags 0x%X", "shf_putchar",
|
||||||
|
(unsigned int)shf->flags);
|
||||||
|
|
||||||
if (c == -1)
|
if (c == -1)
|
||||||
return (-1);
|
return (-1);
|
||||||
@ -633,7 +639,8 @@ shf_write(const char *buf, ssize_t nbytes, struct shf *shf)
|
|||||||
ssize_t n, ncopy, orig_nbytes = nbytes;
|
ssize_t n, ncopy, orig_nbytes = nbytes;
|
||||||
|
|
||||||
if (!(shf->flags & SHF_WR))
|
if (!(shf->flags & SHF_WR))
|
||||||
internal_errorf("%s: flags 0x%X", "shf_write", shf->flags);
|
internal_errorf("%s: flags 0x%X", "shf_write",
|
||||||
|
(unsigned int)shf->flags);
|
||||||
|
|
||||||
if (nbytes < 0)
|
if (nbytes < 0)
|
||||||
internal_errorf("%s: %s %zd", "shf_write", "nbytes", nbytes);
|
internal_errorf("%s: %s %zd", "shf_write", "nbytes", nbytes);
|
||||||
@ -764,7 +771,7 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args)
|
|||||||
const char *s;
|
const char *s;
|
||||||
char c, *cp;
|
char c, *cp;
|
||||||
int tmp = 0, flags;
|
int tmp = 0, flags;
|
||||||
ssize_t field, precision, len;
|
size_t field, precision, len;
|
||||||
unsigned long lnum;
|
unsigned long lnum;
|
||||||
/* %#o produces the longest output */
|
/* %#o produces the longest output */
|
||||||
char numbuf[(8 * sizeof(long) + 2) / 3 + 1];
|
char numbuf[(8 * sizeof(long) + 2) / 3 + 1];
|
||||||
@ -791,7 +798,7 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args)
|
|||||||
*/
|
*/
|
||||||
flags = 0;
|
flags = 0;
|
||||||
field = precision = 0;
|
field = precision = 0;
|
||||||
for ( ; (c = *fmt++) ; ) {
|
while ((c = *fmt++)) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case '#':
|
case '#':
|
||||||
flags |= FL_HASH;
|
flags |= FL_HASH;
|
||||||
@ -821,12 +828,17 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args)
|
|||||||
|
|
||||||
case '*':
|
case '*':
|
||||||
tmp = VA(int);
|
tmp = VA(int);
|
||||||
if (flags & FL_DOT)
|
if (tmp < 0) {
|
||||||
precision = tmp;
|
if (flags & FL_DOT)
|
||||||
else if ((field = tmp) < 0) {
|
precision = 0;
|
||||||
field = -field;
|
else {
|
||||||
flags |= FL_RIGHT;
|
field = (unsigned int)-tmp;
|
||||||
}
|
flags |= FL_RIGHT;
|
||||||
|
}
|
||||||
|
} else if (flags & FL_DOT)
|
||||||
|
precision = (unsigned int)tmp;
|
||||||
|
else
|
||||||
|
field = (unsigned int)tmp;
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
case 'l':
|
case 'l':
|
||||||
@ -848,26 +860,23 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args)
|
|||||||
bool overflowed = false;
|
bool overflowed = false;
|
||||||
|
|
||||||
tmp = ksh_numdig(c);
|
tmp = ksh_numdig(c);
|
||||||
while (c = *fmt++, ksh_isdigit(c)) {
|
while (c = *fmt++, ksh_isdigit(c))
|
||||||
if (notok2mul(2147483647, tmp, 10))
|
if (notok2mul(2147483647, tmp, 10))
|
||||||
overflowed = true;
|
overflowed = true;
|
||||||
tmp = tmp * 10 + ksh_numdig(c);
|
else
|
||||||
}
|
tmp = tmp * 10 + ksh_numdig(c);
|
||||||
--fmt;
|
--fmt;
|
||||||
if (overflowed)
|
if (overflowed)
|
||||||
tmp = 0;
|
tmp = 0;
|
||||||
if (flags & FL_DOT)
|
if (flags & FL_DOT)
|
||||||
precision = tmp;
|
precision = (unsigned int)tmp;
|
||||||
else
|
else
|
||||||
field = tmp;
|
field = (unsigned int)tmp;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (precision < 0)
|
|
||||||
precision = 0;
|
|
||||||
|
|
||||||
if (!c)
|
if (!c)
|
||||||
/* nasty format */
|
/* nasty format */
|
||||||
break;
|
break;
|
||||||
@ -953,7 +962,7 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args)
|
|||||||
*--cp = (flags & FL_UPPER) ? 'X' : 'x';
|
*--cp = (flags & FL_UPPER) ? 'X' : 'x';
|
||||||
*--cp = '0';
|
*--cp = '0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
len = numbuf + sizeof(numbuf) - (s = cp);
|
len = numbuf + sizeof(numbuf) - (s = cp);
|
||||||
if (flags & FL_DOT) {
|
if (flags & FL_DOT) {
|
||||||
@ -999,7 +1008,6 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args)
|
|||||||
if (field > precision) {
|
if (field > precision) {
|
||||||
field -= precision;
|
field -= precision;
|
||||||
if (!(flags & FL_RIGHT)) {
|
if (!(flags & FL_RIGHT)) {
|
||||||
field = -field;
|
|
||||||
/* skip past sign or 0x when padding with 0 */
|
/* skip past sign or 0x when padding with 0 */
|
||||||
if ((flags & FL_ZERO) && (flags & FL_NUMBER)) {
|
if ((flags & FL_ZERO) && (flags & FL_NUMBER)) {
|
||||||
if (*s == '+' || *s == '-' ||
|
if (*s == '+' || *s == '-' ||
|
||||||
@ -1012,7 +1020,7 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args)
|
|||||||
shf_putc(*s, shf);
|
shf_putc(*s, shf);
|
||||||
s++;
|
s++;
|
||||||
nwritten++;
|
nwritten++;
|
||||||
if (--precision > 0 &&
|
if (--precision &&
|
||||||
ksh_eq(*s, 'X', 'x')) {
|
ksh_eq(*s, 'X', 'x')) {
|
||||||
shf_putc(*s, shf);
|
shf_putc(*s, shf);
|
||||||
s++;
|
s++;
|
||||||
@ -1023,19 +1031,16 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args)
|
|||||||
c = '0';
|
c = '0';
|
||||||
} else
|
} else
|
||||||
c = flags & FL_ZERO ? '0' : ' ';
|
c = flags & FL_ZERO ? '0' : ' ';
|
||||||
if (field < 0) {
|
nwritten += field;
|
||||||
nwritten += -field;
|
while (field--)
|
||||||
while (field < 0) {
|
shf_putc(c, shf);
|
||||||
shf_putc(c, shf);
|
field = 0;
|
||||||
++field;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else
|
} else
|
||||||
c = ' ';
|
c = ' ';
|
||||||
} else
|
} else
|
||||||
field = 0;
|
field = 0;
|
||||||
|
|
||||||
if (precision > 0) {
|
if (precision) {
|
||||||
const char *q;
|
const char *q;
|
||||||
|
|
||||||
nwritten += precision;
|
nwritten += precision;
|
||||||
@ -1044,11 +1049,9 @@ shf_vfprintf(struct shf *shf, const char *fmt, va_list args)
|
|||||||
shf_putc(*s, shf);
|
shf_putc(*s, shf);
|
||||||
} while (++s < q);
|
} while (++s < q);
|
||||||
}
|
}
|
||||||
if (field > 0) {
|
nwritten += field;
|
||||||
nwritten += field;
|
while (field--)
|
||||||
for ( ; field > 0 ; --field)
|
shf_putc(c, shf);
|
||||||
shf_putc(c, shf);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (shf_error(shf) ? -1 : nwritten);
|
return (shf_error(shf) ? -1 : nwritten);
|
||||||
|
6
tree.c
6
tree.c
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
#include "sh.h"
|
#include "sh.h"
|
||||||
|
|
||||||
__RCSID("$MirOS: src/bin/mksh/tree.c,v 1.82 2016/02/26 17:58:30 tg Exp $");
|
__RCSID("$MirOS: src/bin/mksh/tree.c,v 1.83 2016/03/04 14:26:16 tg Exp $");
|
||||||
|
|
||||||
#define INDENT 8
|
#define INDENT 8
|
||||||
|
|
||||||
@ -631,8 +631,8 @@ wdscan(const char *wp, int c)
|
|||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
internal_warningf(
|
internal_warningf(
|
||||||
"wdscan: unknown char 0x%x (carrying on)",
|
"wdscan: unknown char 0x%X (carrying on)",
|
||||||
wp[-1]);
|
(unsigned char)wp[-1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user