freebsd-ports/misc/display/files/patch-aa
Peter Pentchev 92b591f201 Fix a long-standing problem with displaying characters with the 8th
bit set: the return value of fgets() should NOT be kept in a signed
char variable, since passing that to addch() would sign-extend it,
setting a whole lot of attribute bits and resulting in a bold, blinking,
alt-charset display of e.g. all Cyrillic characters.  Instead, keep
fgets()'s result in an int variable, as $DEITY (dmr? :) intended.

Bump PORTREVISION for the functionality change.
2004-08-27 12:45:45 +00:00

40 lines
680 B
Text

--- display.c.orig Mon Mar 26 10:03:42 2001
+++ display.c Fri Mar 8 01:15:54 2002
@@ -12,6 +12,7 @@
#include <signal.h>
#include <ctype.h>
#include <time.h>
+#include <stdio.h>
#define DEFAULT_DELAY 5
#define DISPLAY_VERSION "1.2"
@@ -19,6 +20,8 @@
static char *Command;
static int Delay;
+static void die(), display(), parse_args(), usage();
+
char lt[128];
int ntimes;
@@ -27,9 +30,6 @@
char *argv[];
{
int i, c;
- extern void parse_args(),
- die(),
- display();
for(i = 0; i < 128; i++)
{
@@ -90,8 +90,8 @@
void display()
{
- FILE *fp, *popen();
- char ch;
+ FILE *fp;
+ int ch;
char *dt;
time_t tnow;
int nlines;