Thanks for writing the "morse" program! In case you are interested: I made a few patches to it to support Norwegian special characters; the most important part of the patch is the Makefile patch - there were apparently quite a few places where it was assumed that characters were < 127, and the ISO 8859-1 Norwegian national characters are NOT. There should probably be a solution to this that doesn't depend on the GCC convention. Enjoy! Harald T. Alvestrand dale(p0):~/sw/morse> diff -u orig/morse.c morse.c --- orig/morse.c Wed Nov 23 03:55:00 1994 +++ morse.c Mon Sep 2 23:17:27 1996 @@ -407,16 +407,17 @@ code[ii] =3D NULL; = /* Load in the morse code code */ - code[(int) '0'] =3D "-----"; - code[(int) '1'] =3D ".----"; - code[(int) '2'] =3D "..---"; - code[(int) '3'] =3D "...--"; - code[(int) '4'] =3D "....-"; - code[(int) '5'] =3D "....."; - code[(int) '6'] =3D "-...."; - code[(int) '7'] =3D "--..."; - code[(int) '8'] =3D "---.."; - code[(int) '9'] =3D "----."; +#define uint unsigned int + code[(uint) '0'] =3D "-----"; + code[(uint) '1'] =3D ".----"; + code[(uint) '2'] =3D "..---"; + code[(uint) '3'] =3D "...--"; + code[(uint) '4'] =3D "....-"; + code[(uint) '5'] =3D "....."; + code[(uint) '6'] =3D "-...."; + code[(uint) '7'] =3D "--..."; + code[(uint) '8'] =3D "---.."; + code[(uint) '9'] =3D "----."; = code[(int) 'a'] =3D ".-"; code[(int) 'b'] =3D "-..."; @@ -444,6 +445,10 @@ code[(int) 'x'] =3D "-..-"; code[(int) 'y'] =3D "-.--"; code[(int) 'z'] =3D "--.."; + /* Norwegian characters */ + code[(uint) '=E6'] =3D ".-.-"; + code[(uint) '=F8'] =3D "---."; + code[(uint) '=E5'] =3D ".--.-"; = /* Punctuation */ code[(int) '=3D'] =3D "-...-"; dale(p0):~/sw/morse> diff -u orig/Makefile Makefile --- orig/Makefile Sat Nov 19 22:58:15 1994 +++ Makefile Mon Sep 2 23:21:59 1996 @@ -10,11 +10,11 @@ # beep.h interface. See beep*.c for examples. Please send any addition= s # to the authors! # -DEVICE =3D Sun +#DEVICE =3D Sun #DEVICE =3D HP #DEVICE =3D X11 #DEVICE =3D Indigo -#DEVICE =3D Linux +DEVICE =3D Linux = # # For termio a la System V, add -DUSG to DEFINES. (Linux in particular n= eeds @@ -42,9 +42,9 @@ # for more details). # #DEFINES =3D -DUSG -DUSELRAND -DPOSIXSIGS -#DEFINES =3D -DUSG +DEFINES =3D -DUSG #DEFINES =3D -DUSG -DERROR_VOLUME=3D1. -DERROR_FREQ=3D2000. -DEFINES =3D -DFULLVOLUME +#DEFINES =3D -DFULLVOLUME #DEFINES =3D = = # The flags necessary to link with the X11 libraries. @@ -57,7 +57,7 @@ = # Any additional flags your favorite C compiler requires to work. #CFLAGS =3D -O -I/usr/X386/include -DSVR4 -DSYSV386 ${DEFINES} -CFLAGS =3D -O ${DEFINES} +CFLAGS =3D -O -funsigned-char ${DEFINES} = default: make test