/programs/cmm/browser/TWB/parse_tag.h |
---|
1,4 → 1,3 |
struct _tag |
{ |
char name[32]; |
10,7 → 9,6 |
dword number; |
bool is(); |
bool parse(); |
void debug_tag(); |
dword get_next_param(); |
dword get_value_of(); |
signed get_number_of(); |
18,12 → 16,8 |
bool _tag::is(dword _text) |
{ |
if ( !strcmp(#name, _text) ) { |
return true; |
} else { |
return false; |
return streq(#name, _text); |
} |
} |
bool _tag::parse(dword _bufpos, bufend) |
{ |
63,38 → 57,22 |
closepos = strchr(bufpos, '>'); |
whitepos = strchrw(bufpos, bufend-bufpos); |
if (debug_mode) { |
if (!closepos) debugln("null closepos"); |
if (!whitepos) debugln("null whitepos"); |
} |
if (!whitepos) || (whitepos > closepos) { |
//no param |
strncpy(#name, bufpos, math.min(closepos - bufpos, sizeof(tag.name))); |
debug_tag(); |
bufpos = closepos; |
} else { |
//we have param |
while (chrlnum(whitepos, '\"', closepos - whitepos)%2) { //alt="Next>>" |
/* |
openpos = strchr(closepos+1, '<'); |
closepos = strchr(closepos+1, '>'); |
if (openpos) && (openpos < closepos) { |
closepos = openpos - 1; |
break; |
} |
*/ |
if (!openpos = strchr(closepos+1, '<')) break; |
if (openpos < strchr(closepos+1, '>')) break; |
if (!closepos = EAX) {closepos = bufend;break;} |
} |
strncpy(#name, bufpos, math.min(whitepos - bufpos, sizeof(tag.name))); |
debug_tag(); |
bufpos = closepos; |
params = malloc(closepos - whitepos + 1); |
strncpy(params, whitepos, closepos - whitepos); |
if (debug_mode) { debug("params: "); debugln(params+1); } |
paramsend = params + closepos - whitepos; |
while (paramsend = get_next_param(params, paramsend-1)); |
free(params); |
120,16 → 98,6 |
return retok; |
} |
void _tag::debug_tag() |
{ |
if (debug_mode) { |
debugch('<'); |
if (!opened) debugch('/'); |
debug(#name); |
debugln(">"); |
} |
} |
dword _tag::get_next_param(dword ps, pe) |
{ |
// "ps" - param start |
189,12 → 157,6 |
attributes.add(attr); |
values.add(val); |
if (debug_mode) { |
debug("atr: "); debugln(attr); |
debug("val: "); debugln(val); |
debugch('\n'); |
} |
if (pe==ps) return NULL; |
return pe; |
} |
213,7 → 175,7 |
signed _tag::get_number_of(dword _attr_name) |
{ |
if (get_value_of(_attr_name)) { |
number = atoi(tag.value); |
number = atoi(value); |
} else { |
number = 0; |
} |
/programs/cmm/browser/TWB/special.h |
---|
11,6 → 11,7 |
"#171","<<", "laquo","<<", |
"#174","(r)", "reg", "(r)", |
"#187",">>", "raquo",">>", |
"hellip", "...", |
"trade", "[TM]", |
"bdquo", ",,", |
80,6 → 81,7 |
{ |
if (__isWhite(ESBYTE[bufpos])) {bufpos--; break;} |
if (ESBYTE[bufpos] == ';') || (bufpos >= buf_end) break; |
if (!strchr("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", ESBYTE[bufpos])) {bufpos--; break;} |
special_code[i] = ESBYTE[bufpos]; |
} |
special_code[i] = '\0'; |
/programs/cmm/browser/WebView.c |
---|
1,4 → 1,4 |
//Copyright 2007-2020 by Veliant & Leency |
//Copyright 2007-2021 by Veliant & Leency |
//Asper, lev, Lrz, Barsuk, Nable, hidnplayr... |
//===================================================// |
234,6 → 234,7 |
} |
LoadInternalPage(http.content_pointer, http.content_received); |
free(http.content_pointer); |
DrawOmnibox(); |
} |
else if (http_get_type==IMG) { |
_IMG_RES: |
426,10 → 427,10 |
void EventEditSource() |
{ |
if (check_is_the_adress_local(history.current())) { |
RunProgram("/rd/1/quark", history.current()); |
RunProgram("/rd/1/develop/cedit", history.current()); |
} else { |
CreateFile(WB1.bufsize, WB1.bufpointer, "/tmp0/1/WebView_tmp.htm"); |
if (!EAX) RunProgram("/rd/1/quark", "/tmp0/1/WebView_tmp.htm"); |
if (!EAX) RunProgram("/rd/1/develop/cedit", "/tmp0/1/WebView_tmp.htm"); |
} |
} |
/programs/cmm/browser/res/test.htm |
---|
6,22 → 6,28 |
<a href=//kolibri-n.org>KolibriN10</a> |
<a href=//store.kolibri-n.org>Kolibri Store</a> |
Simplest: |
<a href=//bash.im>bash.im</a> |
<a href=//opennet.ru>opennet</a> |
<a href=//linux.org.ru>LOR</a> |
<a href=//baravy.by/me/b.html>baravy.by/me/b.html</a> |
<a href=//samlib.ru/b>samlib.ru/b</a> |
<a href=//mirrors.pdp-11.ru>mirrors.pdp-11.ru</a> |
Simple: |
<a href=//dgmag.in>dgmag.in</a> |
<a href=//os-menuet.narod.ru>os-menuet.narod.ru</a> |
<a href=//mestack.narod.ru/index.html>mestack.narod.ru</a> |
<a href=//coolthemes.narod.ru/indexold.html>coolthemes.narod.ru</a> |
<a href=//www.fdd5-25.net/index.htm>fdd5-25.net</a> |
<a href=//www.mestack.narod.ru/index.html>mestack.narod.ru</a> |
<a href=//dgmag.in>dgmag.in</a> |
<a href=//baravy.by/me/b.html>baravy.by/me/b.html</a> |
<a href=//vetusware.com>vetusware.com</a> |
<a href=//www.artcon.ru>artcon.ru</a> |
Moderate: |
<a href=//fdd5-25.pdp-11.ru>fdd5-25</a> |
<a href=//acmp.ru/index.asp?main=tasks>acmp.ru</a> |
<a href=//old-dos.ru>old-dos.ru</a> |
Complex: |
<a href=//artcon.ru>artcon.ru</a> |
<a href=//edition.cnn.com/EVENTS/1996/year.in.review>cnn 1996</a> |
<a href=//vetusware.com>vetusware.com</a> |
<a href=//old-dos.ru>old-dos.ru</a> |
<a href=//nubo.ru>nubo.ru</a> |
<a href=//samlib.ru/b>samlib.ru/b</a> |
<a href=//umvirt.com/coins/>UmVirt Conis</a> |
<a href=//linux.org.ru>LOR</a> |
<a href=//opennet.ru>opennet</a> |
<a href=//bash.im>bash.im</a> |
<a href=//electromyne.de>electromyne.de</a> |
/programs/cmm/lib/kolibri.h |
---|
187,7 → 187,7 |
word status_slot,rezerv3; |
dword cleft,ctop,cwidth,cheight; |
char status_window; |
byte reserved[1024-71-8]; |
byte reserved[1024-71]; |
}; |
:void GetProcessInfo(dword _process_struct_pointer, _process_id) |