Subversion Repositories Kolibri OS

Rev

Rev 4719 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4718 leency 1
//you are butifull, you are butifull
2
dword ShowSource()
3
{
4
	dword new_buf, new_buf_start, i;
5
	byte ww, param, comment;
6
 
7
	if (souce_mode) return;
8
	souce_mode = true;
9
	new_buf_start = new_buf = malloc(bufsize*5);
10
	strcat(new_buf, "
");
11
	for (i=bufpointer; i
12
	{
13
		ww = ESBYTE[i];
14
		new_buf++;
15
		switch (ww)
16
		{
17
			case '<':
18
				if (ESBYTE[i+1]=='!') && (ESBYTE[i+2]=='-') && (ESBYTE[i+3]=='-')
19
				{
20
					strcat(new_buf, "<");
21
					new_buf+=20;
22
				}
23
				else
24
				{
25
					strcat(new_buf, "<");
26
					new_buf+=20;
27
				}
28
				break;
29
			case '>':
30
				if (!param) //fix non-closed quote
31
				{
32
					param = 1;
33
					strcat(new_buf, """);
34
					new_buf+=12;
35
				}
36
				if (ESBYTE[i-1]=='-') && (ESBYTE[i-2]=='-')
37
				{
38
					strcat(new_buf, ">");
39
					new_buf+=10;
40
				}
41
				else
42
				{
43
					strcat(new_buf, ">");
44
					new_buf+=10;
45
				}
46
				break;
47
			case '\"':
48
			case '\'':
49
				if (param)
50
				{
51
					param = 0;
52
					strcat(new_buf, """);
53
					new_buf+=22;
54
				}
55
				else
56
				{
57
					param = 1;
58
					strcat(new_buf, """);
59
					new_buf+=12;
60
				}
61
				break;
62
			default:
63
				chrcat(new_buf, ww);
64
		}
65
	}
66
	bufsize = new_buf;
67
	free(bufpointer);
68
	bufpointer = new_buf_start;
69
}