aboutsummaryrefslogtreecommitdiffstats
path: root/sdk/other/expand.c
blob: 8005957adf7766d288d0100f1805b419d93b49a7 (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
/*
 * String expansion and normalization of 'plain text' line data.
 * $Id$
 * Copyright (c) 1997 by Tycho Softworks.
 * For conditions of distribution and reuse see product license.
 */

#include <std/string.h>

char	*expand(const char *s)
{
	static	char	buf[320];
	
	int pos = 0;

	while(*s)
	{
		if(*s == '\t')
		{
			buf[pos++] = ' ';
			while(pos % 8)
				buf[pos++] = ' ';
		}
		else if (*s > 31)
			buf[pos++] = *s;
		else
		{
			buf[pos++] = '^';
			buf[pos++] = *s + '@';
		}
		++s;
	}
	buf[pos] = 0;
	return buf;
}