aboutsummaryrefslogtreecommitdiffstats
path: root/spo256/word.c
blob: 215083741f8743af10099efb289c46836c354898 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*

	Word base pronounciation rules and special cases.
*/

#include <ctype.h>
#include <std/types.h>
#include <std/string.h>
#include <std/config.h>
#include "speak.h"

void	word(char *str)
{
	char	*p;

	/* Internet x@y as "x at y" */

	if(NULL != (p = strchr(str, '@')))
	{
		*(p++) = 0;
		word(str);
		word("at");
		word(p);
		return;
	}

	/* Check for x.y.z as "x dot y dot z" */

	while(NULL != (p = strchr(str, '.')))
	{
		*(p++) = 0;
		spo_word(str);
		spo_word("dot");
		str = p;
	}

	spo_word(str);
}