Rev 2839 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2839 | Rev 2840 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | int i; |
7 | int i; |
8 | 8 | ||
Line 9... | Line 9... | ||
9 | char download_path[]="/rd/1/.download"; |
9 | char download_path[]="/rd/1/.download"; |
10 | char search_path[]="http://nigma.ru/index.php?s="; |
10 | char search_path[]="http://nigma.ru/index.php?s="; |
11 | char version[]=" Text-based Browser 0.94u"; |
11 | char version[]=" Text-based Browser 0.94z"; |
Line 12... | Line 12... | ||
12 | 12 | ||
13 | 13 | ||
14 | struct TWebBrowser { |
14 | struct TWebBrowser { |
Line 83... | Line 83... | ||
83 | 83 | ||
Line 84... | Line 84... | ||
84 | if (!strcmp(#URL + strlen(#URL) - 4, ".gif")) || (!strcmp(#URL + strlen(#URL) - 4, ".png")) || (!strcmp(#URL + strlen(#URL) - 4, ".jpg")) |
84 | if (!strcmp(#URL + strlen(#URL) - 4, ".gif")) || (!strcmp(#URL + strlen(#URL) - 4, ".png")) || (!strcmp(#URL + strlen(#URL) - 4, ".jpg")) |
85 | { |
85 | { |
86 | RunProgram("/sys/media/kiv", #URL); |
86 | RunProgram("/sys/media/kiv", #URL); |
- | 87 | strcpy(#editURL, BrowserHistory.CurrentUrl()); |
|
87 | strcpy(#URL, BrowserHistory.CurrentUrl()); |
88 | strcpy(#URL, BrowserHistory.CurrentUrl()); |
88 | return; |
89 | return; |
89 | } |
90 | } |
Line 90... | Line 91... | ||
90 | 91 | ||
Line 318... | Line 319... | ||
318 | if (!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1; |
319 | if (!strcmp(#URL + strlen(#URL) - 4, ".mht")) ignor_text = 1; |
319 | 320 | ||
Line 320... | Line 321... | ||
320 | debug("Start parsing"); |
321 | debug("Start parsing"); |
Line 321... | Line 322... | ||
321 | 322 | ||
- | 323 | for ( ; buf+filesize > bword; bword++;) |
|
322 | for ( ; buf+filesize > bword; bword++;) {//ESBYTE[bword] |
324 | { |
- | 325 | bukva = ESBYTE[bword]; |
|
323 | bukva = ESBYTE[bword]; |
326 | if (ignor_text) && (bukva<>'<') continue; |
- | 327 | switch (bukva) |
|
324 | switch (bukva) { |
328 | { |
325 | case 0x0a: |
329 | case 0x0a: |
326 | if (pre_text) |
330 | if (pre_text) |
327 | { |
331 | { |
328 | bukva = ''; |
- | |
329 | temp = ''; |
332 | bukva = temp = ''; |
330 | goto NEXT_MARK; |
333 | goto NEXT_MARK; |
331 | } |
334 | } |
332 | case '\9': |
335 | case '\9': |
333 | if (pre_text) //èíà÷å èä¸ì íà 0x0d |
336 | if (pre_text) //èíà÷å èä¸ì íà 0x0d |
Line 362... | Line 365... | ||
362 | while (ESBYTE[bword] <>'>') && (bword < buf + filesize) //ïîëó÷àåì òåã è åãî ïàðàìåòðû |
365 | while (ESBYTE[bword] <>'>') && (bword < buf + filesize) //ïîëó÷àåì òåã è åãî ïàðàìåòðû |
363 | { |
366 | { |
364 | bukva = ESBYTE[bword]; |
367 | bukva = ESBYTE[bword]; |
365 | if (bukva == '\9') || (bukva == '\x0a') || (bukva == '\x0d') bukva = ' '; |
368 | if (bukva == '\9') || (bukva == '\x0a') || (bukva == '\x0d') bukva = ' '; |
366 | if (!ignor_param) && (bukva <>' ') strcat(#tag, #bukva); |
369 | if (!ignor_param) && (bukva <>' ') |
367 | else |
370 | { |
- | 371 | if (strlen(#tag) |
|
- | 372 | } |
|
- | 373 | else |
|
368 | { |
374 | { |
369 | ignor_param = true; |
375 | ignor_param = true; |
370 | strcat(#tagparam, #bukva); |
376 | if (!ignor_text) && (strlen(#tagparam)+1 |
371 | } |
377 | } |
372 | bword++; |
378 | bword++; |
373 | } |
379 | } |
374 | lowcase(#tag); |
380 | lowcase(#tag); |
375 | lowcase(#tagparam); |
381 | lowcase(#tagparam); |
376 | 382 | ||
Line 399... | Line 405... | ||
399 | if (bukva) goto DEFAULT_MARK; |
405 | if (bukva) goto DEFAULT_MARK; |
400 | break; |
406 | break; |
401 | 407 | ||
Line 402... | Line 408... | ||
402 | case '&': //îáðàáîòêà òåãîâ òèïà |
408 | case '&': //îáðàáîòêà òåãîâ òèïà |
403 | if (ignor_text) break; |
- | |
404 | bword++; |
409 | bword++; |
405 | tag=''; |
410 | tag=''; |
406 | for (j=0; (ESBYTE[bword] <>';') && (j < 7); j++, bword++;) |
411 | for (j=0; (ESBYTE[bword] <>';') && (j < 7); j++, bword++;) |
407 | { |
412 | { |
408 | bukva = ESBYTE[bword]; |
413 | bukva = ESBYTE[bword]; |
Line 429... | Line 434... | ||
429 | strcat(#line,#tag); //âûâîäèì íà ýêðàí íåîáðàáîòàííûé òåã, òàê áðàóçåðû çà÷åì-òî äåëàþò |
434 | strcat(#line,#tag); //âûâîäèì íà ýêðàí íåîáðàáîòàííûé òåã, òàê áðàóçåðû çà÷åì-òî äåëàþò |
430 | break; |
435 | break; |
431 | default: |
436 | default: |
432 | DEFAULT_MARK: |
437 | DEFAULT_MARK: |
433 | if (ignor_text) break; |
438 | if (!pre_text) && (bukva == ' ') && (line[strlen(#line)-1]==' ') break; |
434 | if (!pre_text) && (bukva == ' ') && (line[strlen(#line)-1]==' ') break; |
- | |
435 | // |
439 | // |
436 | if (stolbec + strlen(#line) > lines.column_max) |
440 | if (stolbec + strlen(#line) > lines.column_max) |
437 | { |
441 | { |
438 | perenos_num = strrchr(#line, ' '); |
442 | perenos_num = strrchr(#line, ' '); |
439 | strcpy(#temp, #line + perenos_num); //ïåðåíîñ ïî ñëîâàì |
443 | strcpy(#temp, #line + perenos_num); //ïåðåíîñ ïî ñëîâàì |
Line 499... | Line 503... | ||
499 | if (stroka==0) DrawTitle(#header); |
503 | if (stroka==0) DrawTitle(#header); |
500 | return; |
504 | return; |
501 | } |
505 | } |
502 | 506 | ||
Line 503... | Line 507... | ||
503 | IF (ignor_text == 1) return; |
507 | IF (ignor_text) return; |
Line 504... | Line 508... | ||
504 | 508 | ||
Line 505... | Line 509... | ||
505 | IF(!chTag("q")) strcat(#line, "\""); |
509 | IF(!chTag("q")) strcat(#line, "\""); |
506 | 510 | ||
Line 557... | Line 561... | ||
557 | } |
561 | } |
558 | 562 | ||
Line 559... | Line 563... | ||
559 | return; |
563 | return; |
560 | } |
564 | } |
561 | ////////////////////////// |
- | |
- | 565 | ||
562 | if (!chTag("a")) |
566 | if (!chTag("a")) |
563 | { |
567 | { |
564 | if (rez) |
568 | if (rez) |
565 | { |
569 | { |
566 | text_color_index++; |
570 | text_color_index++; |
Line 595... | Line 599... | ||
595 | IF(text_color_index > 0) text_color_index--; |
599 | IF(text_color_index > 0) text_color_index--; |
596 | } |
600 | } |
597 | return; |
601 | return; |
598 | } |
602 | } |
599 | ///////////////////////// |
603 | |
600 | if (!chTag("font")) |
- | |
- | 604 | if (!chTag("font")) |
|
601 | { |
605 | { |
602 | if (rez) |
606 | if (rez) |
603 | { |
607 | { |
604 | text_color_index++; |
608 | text_color_index++; |
605 | text_colors[text_color_index] = text_colors[text_color_index-1]; |
609 | text_colors[text_color_index] = text_colors[text_color_index-1]; |
Line 617... | Line 621... | ||
617 | else |
621 | else |
618 | if (text_color_index > 0) text_color_index--; |
622 | if (text_color_index > 0) text_color_index--; |
619 | return; |
623 | return; |
620 | } |
624 | } |
621 | ////////////////////////// |
625 | |
622 | if(!chTag("tr")) || (!chTag("br")) { |
- | |
- | 626 | if(!chTag("tr")) || (!chTag("br")) { |
|
623 | TextGoDown(left1, top1, width1); |
627 | TextGoDown(left1, top1, width1); |
624 | return; |
628 | return; |
625 | } |
629 | } |
626 | if (!chTag("div")) { |
630 | if (!chTag("div")) { |
627 | IF(oldtag[0] <>'h') TextGoDown(left1, top1, width1); |
631 | IF(oldtag[0] <>'h') TextGoDown(left1, top1, width1); |
Line 632... | Line 636... | ||
632 | TextGoDown(left1, top1, width1); |
636 | TextGoDown(left1, top1, width1); |
633 | IF(rez) TextGoDown(left1, top1 + 10, width1); |
637 | IF(rez) TextGoDown(left1, top1 + 10, width1); |
634 | return; |
638 | return; |
635 | } |
639 | } |
636 | //////////////////////////// |
640 | |
637 | if (!chTag("h1")) || (!chTag("h2")) || (!chTag("h3")) || (!chTag("h4")) { |
- | |
- | 641 | if (!chTag("h1")) || (!chTag("h2")) || (!chTag("h3")) || (!chTag("h4")) { |
|
638 | TextGoDown(left1, top1, width1); |
642 | TextGoDown(left1, top1, width1); |
639 | IF(rez) TextGoDown(left1, top1 + 10, width1); |
643 | IF(rez) TextGoDown(left1, top1 + 10, width1); |
640 | b_text = rez; |
644 | b_text = rez; |
641 | strcpy(#oldtag, #tag); |
645 | strcpy(#oldtag, #tag); |
642 | return; |
646 | return; |