Mid's Portable Utilities are a set of (hopefully) POSIX and SUS-compliant Unix userland tools that are portable across many Unices.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
mp-utils/src/echo.c~

65 lines
1.1 KiB

#include "common.h"
int main(int argc, char **argv)
{
int i, i2;
char escape = 0;
if(argc > 1)
for(i = 1; i < argc; i++)
{
for(i2 = 0; argv[i][i2] != '\0'; i2++)
{
if(escape)
switch(argv[i][i2])
{
case 'a':
escape = 0;
putchar('\a');
break;
case 'b':
escape = 0;
putchar('\b');
break;
case 'c': // Immediately stop echoing.
goto end;
case 'f':
escape = 0;
putchar('\f');
break;
case 'n':
escape = 0;
putchar('\n');
break;
case 'r':
escape = 0;
putchar('\r');
break;
case 't':
escape = 0;
putchar('\t');
break;
case 'v':
escape = 0;
putchar('\v');
break;
case '\\':
escape = 0;
putchar('\\');
break;
case '0': // This is for octal values
break;
}
else if(argv[i][i2] == '\\')
escape++;
else
putchar(argv[i][i2]);
}
if(i < (argc-1))
putchar(' ');
}
putchar('\n');
end:
return 0;
}