+/*
+ * print -- loadable ksh-93 style print builtin
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
#include "bashtypes.h"
#include <errno.h>
static FILE *ofp;
-extern char *ansicstr ();
-
extern char *this_command_name;
static char *print_doc[] = {
WORD_LIST *list;
{
int c, r, nflag, raw, ofd, sflag;
+ intmax_t lfd;
char **v, *pfmt, *arg;
WORD_LIST *l;
case 'p':
break; /* NOP */
case 'u':
- if (all_digits (list_optarg))
- ofd = atoi (list_optarg);
+ if (all_digits (list_optarg) && legal_number (list_optarg, &lfd) && lfd == (int)lfd)
+ ofd = lfd;
else
{
for (l = list; l->next && l->next != lcurrent; l = l->next);
for (sawc = 0, l = list; l; l = l->next)
{
- ostr = ansicstr (l->word->word, strlen (l->word->word), &sawc, (int *)0);
+ ostr = ansicstr (l->word->word, strlen (l->word->word), 0, &sawc, (int *)0);
fprintf (ofp, "%s", ostr);
free (ostr);
if (sawc)
}
return (1);
}
-