changeset 59:d57a8acf92bf

Remove morse code mode.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 11 Nov 2008 21:30:05 +0200
parents 5455d078bedd
children fc8b5265a3d2
files README nnchat.c
diffstat 2 files changed, 1 insertions(+), 137 deletions(-) [+]
line wrap: on
line diff
--- a/README	Tue Nov 11 21:29:37 2008 +0200
+++ b/README	Tue Nov 11 21:30:05 2008 +0200
@@ -37,7 +37,6 @@
 
 F1                - Toggle between insert and overwrite modes.
 F2                - Clear current edit buffer.
-F3                - Toggle funny morse code sending mode.
 F9                - Quit.
 
 
--- a/nnchat.c	Tue Nov 11 21:29:37 2008 +0200
+++ b/nnchat.c	Tue Nov 11 21:30:05 2008 +0200
@@ -58,9 +58,7 @@
 WINDOW  *mainWin = NULL,
 		*statusWin = NULL,
 		*editWin = NULL;
-BOOL    setPrvMode = FALSE,
-		setMorseMode = FALSE;
-
+BOOL    setPrvMode = FALSE;
 
 /* Arguments
  */
@@ -559,120 +557,6 @@
 }
 
 
-typedef struct {
-	char c;
-	char *code;
-} conv_ent_t;
-
-conv_ent_t morseTab[] = {
-  { ' ', " / " },
-  { 'A', ".-" },
-  { 'B', "-..." },
-  { 'C', "-.-." },
-  { 'D', "-.." },
-  { 'E', "." },
-  { 'F', "..-." },
-  { 'G', "--." },
-  { 'H', "...." },
-  { 'I', ".." },
-  { 'J', ".---" },
-  { 'K', "-.-" },
-  { 'L', ".-.." },
-  { 'M', "--" },
-  { 'N', "-." },
-  { 'O', "---" },
-  { 'P', ".--." },
-  { 'Q', "--.-" },
-  { 'R', ".-." },
-  { 'S', "..." },
-  { 'T', "-" },
-  { 'U', "..-" },
-  { 'V', "...-" },
-  { 'W', ".--" },
-  { 'X', "-..-" },
-  { 'Y', "-.--" },
-  { 'Z', "--.." },
-  { '0', "-----" },
-  { '1', ".----" },
-  { '2', "..---" },
-  { '3', "...--" },
-  { '4', "....-" },
-  { '5', "....." },
-  { '6', "-...." },
-  { '7', "--..." },
-  { '8', "---.." },
-  { '9', "----." },
-  { '.', ".-.-.-" },
-  { ',', "--..--" },
-  { '?', "..--.." },
-};
-
-
-char * conv2tab(conv_ent_t *tab, size_t ntab, char *str)
-{
-	char *result, *s = str;
-	size_t resSize, resPos = 0;
-
-	if (!str) return NULL;
-	
-	resSize = (strlen(str) * 4) + SET_ALLOC_SIZE;
-	if ((result = th_malloc(resSize)) == NULL)
-		return NULL;
-	
-	while (*s) {
-		size_t i;
-		char c = toupper(*s);
-		BOOL found = FALSE;
-		for (i = 0; i < ntab; i++)
-		if (tab[i].c == c) {
-			PUSHSTR(tab[i].code);
-			PUSHCHAR(' ');
-			found = TRUE;
-			break;
-		}
-		if (!found) PUSHCHAR(*s);
-		
-		s++;
-	}
-	PUSHCHAR(0);
-
-	return result;	
-}
-
-
-char * tab2str(conv_ent_t *tab, size_t ntab, char *str)
-{
-	char *result, *s = str;
-	size_t resSize, resPos = 0;
-
-	if (!str) return NULL;
-	
-	resSize = (strlen(str) * 4) + SET_ALLOC_SIZE;
-	if ((result = th_malloc(resSize)) == NULL)
-		return NULL;
-	
-	while (*s) {
-		size_t i;
-		BOOL found = FALSE;
-		for (i = 0; i < ntab; i++) {
-			size_t len = strlen(tab[i].code);
-			if (!strcmp(s, tab[i].code) && s[len] == ' ') {
-				s += len;
-				PUSHCHAR(tab[i].c);
-				found = TRUE;
-				break;
-			}
-		}
-		if (!found) PUSHCHAR(*s);
-		
-		s++;
-	}
-	PUSHCHAR(0);
-
-	return result;	
-}
-
-
 char *encodeStr1(char *str)
 {
 	char *result, *s = str;
@@ -936,10 +820,6 @@
 	} else {
 		t = stripTags(s);
 		h = decodeStr2(t);
-		if (setMorseMode) {
-			th_free(t); t = h;
-			h = tab2str(morseTab, sizeof(morseTab) / sizeof(morseTab[0]), t);
-		}
 		printMsg("½5½<½%d½%s½5½>½0½ %s\n", strcmp(p, optUserName) ? 15 : 14, p, h);
 		th_free(h);
 		th_free(t);
@@ -1110,18 +990,9 @@
 			setPrvMode = FALSE;
 			return 1;
 		}
-	} else if (buf[0] != '/') {
-		if (setMorseMode) {
-			tmpStr = conv2tab(morseTab, sizeof(morseTab) / sizeof(morseTab[0]), buf);
-			strncpy(tmpBuf, tmpStr, sizeof(tmpBuf));
-			tmpBuf[sizeof(tmpBuf)-1] = 0;
-			th_free(tmpStr);
-			buf = tmpBuf;
-		}
 	}
 	
 	
-	
 	/* Send double-encoded */
 	tmpStr = encodeStr2(buf);
 	if (!tmpStr) return -2;
@@ -1456,12 +1327,6 @@
 				update = TRUE;
 				break;
 			
-			case 0x10b: /* F3 = Toggle special mode */
-				setMorseMode = !setMorseMode;
-				printMsg("Morse code mode = %d\n", setMorseMode);
-				update = TRUE;
-				break;
-			
 			case KEY_HOME: setBufPos(editBuf, 0); update = TRUE; break;
 			case KEY_END: setBufPos(editBuf, editBuf->len); update = TRUE; break;
 			case KEY_LEFT: setBufPos(editBuf, editBuf->pos - 1); update = TRUE; break;