Rev 4718 | Rev 4725 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4718 | Rev 4719 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 1 | enum { TAG, OPTION_VALUE, TEXT, COMMENT }; |
|
- | 2 | ||
1 | //you are butifull, you are butifull |
3 | //you are butifull, you are butifull |
2 | dword ShowSource() |
4 | dword ShowSource() |
3 | { |
5 | { |
4 | dword new_buf, new_buf_start, i; |
6 | dword new_buf, new_buf_start, i; |
5 | byte ww, param, comment; |
7 | byte ww, mode; |
Line 6... | Line 8... | ||
6 | 8 | ||
7 | if (souce_mode) return; |
9 | if (souce_mode) return; |
8 | souce_mode = true; |
10 | souce_mode = true; |
9 | new_buf_start = new_buf = malloc(bufsize*5); |
11 | new_buf_start = new_buf = malloc(bufsize*5); |
Line 17... | Line 19... | ||
17 | case '<': |
19 | case '<': |
18 | if (ESBYTE[i+1]=='!') && (ESBYTE[i+2]=='-') && (ESBYTE[i+3]=='-') |
20 | if (ESBYTE[i+1]=='!') && (ESBYTE[i+2]=='-') && (ESBYTE[i+3]=='-') |
19 | { |
21 | { |
20 | strcat(new_buf, "<"); |
22 | strcat(new_buf, "<"); |
21 | new_buf+=20; |
23 | new_buf+=20; |
- | 24 | mode = COMMENT; |
|
22 | } |
25 | } |
23 | else |
26 | else |
24 | { |
27 | { |
25 | strcat(new_buf, "<"); |
28 | strcat(new_buf, "<"); |
26 | new_buf+=20; |
29 | new_buf+=20; |
- | 30 | mode = TAG; |
|
27 | } |
31 | } |
28 | break; |
32 | break; |
29 | case '>': |
33 | case '>': |
30 | if (!param) //fix non-closed quote |
34 | if (mode == OPTION_VALUE) //fix non-closed quote in TAG |
31 | { |
35 | { |
32 | param = 1; |
- | |
33 | strcat(new_buf, """); |
36 | strcat(new_buf, """); |
34 | new_buf+=12; |
37 | new_buf+=12; |
- | 38 | mode = TAG; |
|
35 | } |
39 | } |
36 | if (ESBYTE[i-1]=='-') && (ESBYTE[i-2]=='-') |
40 | if (mode == COMMENT) && (ESBYTE[i-1]=='-') && (ESBYTE[i-2]=='-') |
37 | { |
41 | { |
38 | strcat(new_buf, ">"); |
42 | strcat(new_buf, ">"); |
39 | new_buf+=10; |
43 | new_buf+=10; |
- | 44 | mode = TEXT; |
|
40 | } |
45 | } |
41 | else |
46 | if (mode == TAG) |
42 | { |
47 | { |
43 | strcat(new_buf, ">"); |
48 | strcat(new_buf, ">"); |
44 | new_buf+=10; |
49 | new_buf+=10; |
- | 50 | mode = TEXT; |
|
45 | } |
51 | } |
46 | break; |
52 | break; |
47 | case '\"': |
53 | case '\"': |
48 | case '\'': |
54 | case '\'': |
49 | if (param) |
55 | if (mode == TAG) |
50 | { |
56 | { |
51 | param = 0; |
- | |
52 | strcat(new_buf, """); |
57 | strcat(new_buf, """); |
53 | new_buf+=22; |
58 | new_buf+=22; |
- | 59 | mode = OPTION_VALUE; |
|
- | 60 | break; |
|
54 | } |
61 | } |
55 | else |
62 | if (mode == OPTION_VALUE) |
56 | { |
63 | { |
57 | param = 1; |
- | |
58 | strcat(new_buf, """); |
64 | strcat(new_buf, """); |
59 | new_buf+=12; |
65 | new_buf+=12; |
60 | } |
66 | mode = TAG; |
61 | break; |
67 | break; |
- | 68 | } |
|
62 | default: |
69 | default: |
63 | chrcat(new_buf, ww); |
70 | chrcat(new_buf, ww); |
64 | } |
71 | } |
65 | } |
72 | } |
66 | bufsize = new_buf; |
73 | bufsize = new_buf; |