/* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T */ /* All Rights Reserved */ /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */ /* UNIX System Laboratories, Inc. */ /* The copyright notice above does not evidence any */ /* actual or intended publication of such source code. */ /* Portions Copyright (c) 1988, Sun Microsystems, Inc. */ /* All Rights Reserved. */ #ident "@(#)sh:echo.c 1.6.4.1" /* * UNIX shell */ #include "defs.h" #define exit(a) flushb();return(a) extern int exitval; echo(argc, argv) unsigned char **argv; { register unsigned char *cp; register int i, wd; int j; int nonl = 0; #ifdef sgi if (0) { /*}*/ #else if (ucb_builtins) { register int nflg; nflg = 0; if(argc > 1 && argv[1][0] == '-' && argv[1][1] == 'n') { nflg++; argc--; argv++; } for(i=1; i= '0' && *cp <= '7') && j++ < 3) { wd <<= 3; wd |= (*cp - '0'); } prc_buff(wd); --cp; continue; default: cp--; } prc_buff(*cp); } if (!nonl || i != argc) prc_buff(i == argc? '\n': ' '); } exit(0); } }