/****************************************************************************
- * Copyright (c) 2000 Free Software Foundation, Inc. *
+ * Copyright (c) 2000-2001,2002 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
/*
* Author: Thomas E. Dickey <dickey@clark.net> 2000
*
- * $Id: railroad.c,v 1.4 2000/10/15 00:21:33 tom Exp $
+ * $Id: railroad.c,v 1.10 2002/04/06 20:45:22 tom Exp $
*
* A simple demo of the termcap interface.
*/
#include <test.priv.h>
-#include <termcap.h>
#include <ctype.h>
-#include <signal.h>
static char *wipeit;
static char *moveit;
while (*string != 0) {
ch = *string;
- if (moveit != 0) {
- for (first = length - 2; first >= (string - base); first--) {
- if (first < length - 1) {
- tputs(tgoto(moveit, first + 1, height - 1), 1, outc);
- PutChar(' ');
+ if (ch != ' ') {
+ if (moveit != 0) {
+ for (first = length - 2; first >= (string - base); first--) {
+ if (first < length - 1) {
+ tputs(tgoto(moveit, first + 1, height - 1), 1, outc);
+ PutChar(' ');
+ }
+ tputs(tgoto(moveit, first, height - 1), 1, outc);
+ PutChar(ch);
}
- tputs(tgoto(moveit, first, height - 1), 1, outc);
- PutChar(ch);
- }
- } else {
- last = ch;
- if (isalpha(ch)) {
- first = isupper(ch) ? 'A' : 'a';
- } else if (isdigit(ch)) {
- first = '0';
} else {
- first = ch;
- }
- if (first < last) {
- Underline(1);
- while (first < last) {
- PutChar(first);
- Backup();
- first++;
+ last = ch;
+ if (isalpha(ch)) {
+ first = isupper(ch) ? 'A' : 'a';
+ } else if (isdigit(ch)) {
+ first = '0';
+ } else {
+ first = ch;
+ }
+ if (first < last) {
+ Underline(1);
+ while (first < last) {
+ PutChar(first);
+ Backup();
+ first++;
+ }
+ Underline(0);
}
- Underline(0);
}
+ if (moveit != 0)
+ Backup();
}
- if (moveit != 0)
- Backup();
StandOut(1);
PutChar(ch);
StandOut(0);
{
interrupted = TRUE;
cleanup();
- exit(EXIT_FAILURE);
+ ExitProgram(EXIT_FAILURE);
}
static void
if (argc > 1) {
railroad(argv + 1);
} else {
+ static char world[] = "Hello World";
static char *hello[] =
- {"Hello World", 0};
+ {world, 0};
railroad(hello);
}
- return EXIT_SUCCESS;
+ ExitProgram(EXIT_SUCCESS);
}