Rev 7746 | Rev 7755 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4719 | leency | 1 | |
7750 | leency | 2 | int opened_font=0; |
3 | int mode; |
||
4 | |||
5 | |||
6 | { |
||
4718 | leency | 7 | dword font_found_pointer, src_orig = src; |
7750 | leency | 8 | |
4718 | leency | 9 | |
7750 | leency | 10 | |
7437 | leency | 11 | |
7750 | leency | 12 | source_buf_end += strlen(source_buf_end); |
13 | |||
7746 | leency | 14 | |
7750 | leency | 15 | opened_font--; |
16 | src = font_found_pointer+2; |
||
17 | } |
||
18 | |||
7746 | leency | 19 | |
7750 | leency | 20 | if (font_found_pointer = strstr(src, " |
21 | opened_font++; |
||
22 | src = font_found_pointer+2; |
||
23 | } |
||
24 | } |
||
25 | |||
7437 | leency | 26 | |
7750 | leency | 27 | { |
28 | while (opened_font) SourceBufAdd(_mode, ""); |
||
29 | } |
||
30 | |||
7437 | leency | 31 | |
7750 | leency | 32 | dword ShowSource() |
33 | { |
||
7437 | leency | 34 | dword i, j; |
7750 | leency | 35 | bool activate_script_mode = false; |
36 | |||
7437 | leency | 37 | |
7750 | leency | 38 | source_buf_start = source_buf_end = malloc(bufsize*5); |
39 | header[strrchr(#header, '-')-2]=0; |
||
40 | |||
7437 | leency | 41 | |
7750 | leency | 42 | SourceBufAdd(TEXT, #header); |
43 | SourceBufAdd(TEXT, ""); |
||
44 | |||
45 | |||
46 | { |
||
7437 | leency | 47 | case '<': |
7750 | leency | 48 | if (!strncmp(i+1,"!--", 3)) SourceBufAdd(COMMENT, "<"); |
49 | else if (SCRIPT == mode) { |
||
50 | if (!strncmp(i+1,"/script>", 8)) { |
||
51 | CloseAllOpenedFonts(NULL); |
||
52 | SourceBufAdd(TAG, "<"); |
||
53 | } |
||
54 | else SourceBufAdd(NULL, "<"); |
||
55 | } |
||
7437 | leency | 56 | else if (COMMENT == mode) { |
7750 | leency | 57 | SourceBufAdd(NULL, "<"); |
58 | } |
||
7437 | leency | 59 | else if (TEXT == mode) { |
7750 | leency | 60 | if (!strncmp(i+1,"script", 6)) activate_script_mode = true; |
61 | SourceBufAdd(TAG, "<"); |
||
62 | } |
||
7437 | leency | 63 | break; |
7750 | leency | 64 | case '>': |
65 | if (TAG == mode) && (activate_script_mode) { |
||
66 | activate_script_mode = false; |
||
67 | SourceBufAdd(SCRIPT, ">"); |
||
68 | } |
||
69 | else if (VALUE == mode) CloseAllOpenedFonts(TEXT); |
||
70 | else if (COMMENT == mode) && (!strncmp(i-2,"--", 2)) { |
||
71 | SourceBufAdd(TEXT, ">"); |
||
72 | CloseAllOpenedFonts(TEXT); |
||
73 | } |
||
74 | else if (COMMENT == mode) || (SCRIPT == mode) SourceBufAdd(NULL, ">"); |
||
75 | else if (TAG == mode) SourceBufAdd(TEXT, ">"); |
||
76 | break; |
||
77 | case '&': |
||
78 | SourceBufAdd(NULL, "&"); |
||
79 | break; |
||
80 | case '\"': |
||
81 | case '\'': |
||
82 | if (TAG == mode) SourceBufAdd(VALUE, "'"); |
||
83 | else if (VALUE == mode) SourceBufAdd(TAG, "'"); |
||
84 | else SourceBufAdd(NULL, "'"); |
||
85 | break; |
||
86 | default: |
||
87 | ESBYTE[source_buf_end] = ESBYTE[i]; |
||
88 | source_buf_end++; |
||
89 | } |
||
7437 | leency | 90 | ESBYTE[source_buf_end] = 0; |
7750 | leency | 91 | bufsize = source_buf_end - source_buf_start; |
92 | free(bufpointer); |
||
7437 | leency | 93 | bufpointer = source_buf_start; |
7750 | leency | 94 | }': |
7437 | leency | 95 | > |