Merge pull request #147 from oliverschmidt/master
Added several Web Browser changes and removed some 'register' keywords.
This commit is contained in:
commit
5ab48453cf
|
@ -1,5 +1,6 @@
|
||||||
html_slasha "/a\0"
|
html_slasha "/a\0"
|
||||||
html_slashcenter "/center\0"
|
html_slashcenter "/center\0"
|
||||||
|
html_slashdiv "/div\0"
|
||||||
html_slashform "/form\0"
|
html_slashform "/form\0"
|
||||||
html_slashh "/h\0"
|
html_slashh "/h\0"
|
||||||
html_slashscript "/script\0"
|
html_slashscript "/script\0"
|
||||||
|
|
|
@ -4,6 +4,9 @@ const char html_slasha[4] =
|
||||||
const char html_slashcenter[9] =
|
const char html_slashcenter[9] =
|
||||||
/* "/center\0" */
|
/* "/center\0" */
|
||||||
{0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 00, };
|
{0x2f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 00, };
|
||||||
|
const char html_slashdiv[6] =
|
||||||
|
/* "/div\0" */
|
||||||
|
{0x2f, 0x64, 0x69, 0x76, 00, };
|
||||||
const char html_slashform[7] =
|
const char html_slashform[7] =
|
||||||
/* "/form\0" */
|
/* "/form\0" */
|
||||||
{0x2f, 0x66, 0x6f, 0x72, 0x6d, 00, };
|
{0x2f, 0x66, 0x6f, 0x72, 0x6d, 00, };
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
extern const char html_slasha[4];
|
extern const char html_slasha[4];
|
||||||
extern const char html_slashcenter[9];
|
extern const char html_slashcenter[9];
|
||||||
|
extern const char html_slashdiv[6];
|
||||||
extern const char html_slashform[7];
|
extern const char html_slashform[7];
|
||||||
extern const char html_slashh[4];
|
extern const char html_slashh[4];
|
||||||
extern const char html_slashscript[9];
|
extern const char html_slashscript[9];
|
||||||
|
|
|
@ -179,53 +179,55 @@ static const char *tags[] = {
|
||||||
html_slasha,
|
html_slasha,
|
||||||
#define TAG_SLASHCENTER 1
|
#define TAG_SLASHCENTER 1
|
||||||
html_slashcenter,
|
html_slashcenter,
|
||||||
#define TAG_SLASHFORM 2
|
#define TAG_SLASHDIV 2
|
||||||
|
html_slashdiv,
|
||||||
|
#define TAG_SLASHFORM 3
|
||||||
html_slashform,
|
html_slashform,
|
||||||
#define TAG_SLASHH 3
|
#define TAG_SLASHH 4
|
||||||
html_slashh,
|
html_slashh,
|
||||||
#define TAG_SLASHSCRIPT 4
|
#define TAG_SLASHSCRIPT 5
|
||||||
html_slashscript,
|
html_slashscript,
|
||||||
#define TAG_SLASHSELECT 5
|
#define TAG_SLASHSELECT 6
|
||||||
html_slashselect,
|
html_slashselect,
|
||||||
#define TAG_SLASHSTYLE 6
|
#define TAG_SLASHSTYLE 7
|
||||||
html_slashstyle,
|
html_slashstyle,
|
||||||
#define TAG_A 7
|
#define TAG_A 8
|
||||||
html_a,
|
html_a,
|
||||||
#define TAG_BODY 8
|
#define TAG_BODY 9
|
||||||
html_body,
|
html_body,
|
||||||
#define TAG_BR 9
|
#define TAG_BR 10
|
||||||
html_br,
|
html_br,
|
||||||
#define TAG_CENTER 10
|
#define TAG_CENTER 11
|
||||||
html_center,
|
html_center,
|
||||||
#define TAG_FORM 11
|
#define TAG_FORM 12
|
||||||
html_form,
|
html_form,
|
||||||
#define TAG_FRAME 12
|
#define TAG_FRAME 13
|
||||||
html_frame,
|
html_frame,
|
||||||
#define TAG_H1 13
|
#define TAG_H1 14
|
||||||
html_h1,
|
html_h1,
|
||||||
#define TAG_H2 14
|
#define TAG_H2 15
|
||||||
html_h2,
|
html_h2,
|
||||||
#define TAG_H3 15
|
#define TAG_H3 16
|
||||||
html_h3,
|
html_h3,
|
||||||
#define TAG_H4 16
|
#define TAG_H4 17
|
||||||
html_h4,
|
html_h4,
|
||||||
#define TAG_IMG 17
|
#define TAG_IMG 18
|
||||||
html_img,
|
html_img,
|
||||||
#define TAG_INPUT 18
|
#define TAG_INPUT 19
|
||||||
html_input,
|
html_input,
|
||||||
#define TAG_LI 19
|
#define TAG_LI 20
|
||||||
html_li,
|
html_li,
|
||||||
#define TAG_P 20
|
#define TAG_P 21
|
||||||
html_p,
|
html_p,
|
||||||
#define TAG_SCRIPT 21
|
#define TAG_SCRIPT 22
|
||||||
html_script,
|
html_script,
|
||||||
#define TAG_SELECT 22
|
#define TAG_SELECT 23
|
||||||
html_select,
|
html_select,
|
||||||
#define TAG_STYLE 23
|
#define TAG_STYLE 24
|
||||||
html_style,
|
html_style,
|
||||||
#define TAG_TR 24
|
#define TAG_TR 25
|
||||||
html_tr,
|
html_tr,
|
||||||
#define TAG_LAST 25
|
#define TAG_LAST 26
|
||||||
last,
|
last,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -239,12 +241,25 @@ iswhitespace(char c)
|
||||||
c == ISO_ht);
|
c == ISO_ht);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------------------*/
|
||||||
|
#if WWW_CONF_FORMS
|
||||||
|
static void
|
||||||
|
init_input(void)
|
||||||
|
{
|
||||||
|
s.inputtype = HTMLPARSER_INPUTTYPE_NONE;
|
||||||
|
s.inputname[0] = s.inputvalue[0] = 0;
|
||||||
|
s.inputvaluesize = 20; /* De facto default size */
|
||||||
|
}
|
||||||
|
#endif /* WWW_CONF_FORMS */
|
||||||
|
/*-----------------------------------------------------------------------------------*/
|
||||||
void
|
void
|
||||||
htmlparser_init(void)
|
htmlparser_init(void)
|
||||||
{
|
{
|
||||||
s.majorstate = s.lastmajorstate = MAJORSTATE_DISCARD;
|
s.majorstate = s.lastmajorstate = MAJORSTATE_DISCARD;
|
||||||
s.minorstate = MINORSTATE_TEXT;
|
s.minorstate = MINORSTATE_TEXT;
|
||||||
s.lastchar = 0;
|
s.lastchar = 0;
|
||||||
|
#if WWW_CONF_FORMS
|
||||||
|
s.formaction[0] = s.formname[0] = 0;
|
||||||
|
#endif /* WWW_CONF_FORMS */
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------------------*/
|
||||||
static char CC_FASTCALL
|
static char CC_FASTCALL
|
||||||
|
@ -325,7 +340,7 @@ find_tag(char *tag)
|
||||||
do {
|
do {
|
||||||
tagc = tag[i];
|
tagc = tag[i];
|
||||||
|
|
||||||
if(tagc == 0 &&
|
if((tagc == 0 || tagc == ISO_slash) &&
|
||||||
tags[first][i] == 0) {
|
tags[first][i] == 0) {
|
||||||
return first;
|
return first;
|
||||||
}
|
}
|
||||||
|
@ -376,6 +391,7 @@ parse_tag(void)
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
case TAG_BR:
|
case TAG_BR:
|
||||||
case TAG_TR:
|
case TAG_TR:
|
||||||
|
case TAG_SLASHDIV:
|
||||||
case TAG_SLASHH:
|
case TAG_SLASHH:
|
||||||
/* parse_char(ISO_nl);*/
|
/* parse_char(ISO_nl);*/
|
||||||
dummy = 0;
|
dummy = 0;
|
||||||
|
@ -457,7 +473,7 @@ parse_tag(void)
|
||||||
PRINTF(("Form name '%s'\n", s.tagattrparam));
|
PRINTF(("Form name '%s'\n", s.tagattrparam));
|
||||||
strncpy(s.formname, s.tagattrparam, WWW_CONF_MAX_FORMNAMELEN - 1);
|
strncpy(s.formname, s.tagattrparam, WWW_CONF_MAX_FORMNAMELEN - 1);
|
||||||
}
|
}
|
||||||
s.inputname[0] = s.inputvalue[0] = 0;
|
init_input();
|
||||||
break;
|
break;
|
||||||
case TAG_SLASHFORM:
|
case TAG_SLASHFORM:
|
||||||
switch_majorstate(MAJORSTATE_BODY);
|
switch_majorstate(MAJORSTATE_BODY);
|
||||||
|
@ -483,7 +499,7 @@ parse_tag(void)
|
||||||
s.formname, s.formaction);
|
s.formname, s.formaction);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
s.inputtype = HTMLPARSER_INPUTTYPE_NONE;
|
init_input();
|
||||||
} else {
|
} else {
|
||||||
PRINTF(("Input '%s' '%s'\n", s.tagattr, s.tagattrparam));
|
PRINTF(("Input '%s' '%s'\n", s.tagattr, s.tagattrparam));
|
||||||
if(strncmp(s.tagattr, html_type, sizeof(html_type)) == 0) {
|
if(strncmp(s.tagattr, html_type, sizeof(html_type)) == 0) {
|
||||||
|
|
|
@ -6,9 +6,8 @@ http_get "GET "
|
||||||
http_10 "HTTP/1.0"
|
http_10 "HTTP/1.0"
|
||||||
http_11 "HTTP/1.1"
|
http_11 "HTTP/1.1"
|
||||||
http_content_type "content-type: "
|
http_content_type "content-type: "
|
||||||
http_texthtml "text/html"
|
|
||||||
http_location "location: "
|
http_location "location: "
|
||||||
http_host "host: "
|
http_host "Host: "
|
||||||
http_crnl "\r\n"
|
http_crnl "\r\n"
|
||||||
http_index_html "/index.html"
|
http_index_html "/index.html"
|
||||||
http_404_html "/404.html"
|
http_404_html "/404.html"
|
||||||
|
|
|
@ -22,15 +22,12 @@ const char http_11[9] =
|
||||||
const char http_content_type[15] =
|
const char http_content_type[15] =
|
||||||
/* "content-type: " */
|
/* "content-type: " */
|
||||||
{0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, };
|
{0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, };
|
||||||
const char http_texthtml[10] =
|
|
||||||
/* "text/html" */
|
|
||||||
{0x74, 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, };
|
|
||||||
const char http_location[11] =
|
const char http_location[11] =
|
||||||
/* "location: " */
|
/* "location: " */
|
||||||
{0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, };
|
{0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, };
|
||||||
const char http_host[7] =
|
const char http_host[7] =
|
||||||
/* "host: " */
|
/* "Host: " */
|
||||||
{0x68, 0x6f, 0x73, 0x74, 0x3a, 0x20, };
|
{0x48, 0x6f, 0x73, 0x74, 0x3a, 0x20, };
|
||||||
const char http_crnl[3] =
|
const char http_crnl[3] =
|
||||||
/* "\r\n" */
|
/* "\r\n" */
|
||||||
{0xd, 0xa, };
|
{0xd, 0xa, };
|
||||||
|
|
|
@ -6,7 +6,6 @@ extern const char http_get[5];
|
||||||
extern const char http_10[9];
|
extern const char http_10[9];
|
||||||
extern const char http_11[9];
|
extern const char http_11[9];
|
||||||
extern const char http_content_type[15];
|
extern const char http_content_type[15];
|
||||||
extern const char http_texthtml[10];
|
|
||||||
extern const char http_location[11];
|
extern const char http_location[11];
|
||||||
extern const char http_host[7];
|
extern const char http_host[7];
|
||||||
extern const char http_crnl[3];
|
extern const char http_crnl[3];
|
||||||
|
|
|
@ -325,7 +325,7 @@ open_url(void)
|
||||||
/* The hostname we present in the hostname table, so we send out the
|
/* The hostname we present in the hostname table, so we send out the
|
||||||
initial GET request. */
|
initial GET request. */
|
||||||
if(webclient_get(host, 80, file) == 0) {
|
if(webclient_get(host, 80, file) == 0) {
|
||||||
show_statustext("Out of memory error.");
|
show_statustext("Out of memory error");
|
||||||
} else {
|
} else {
|
||||||
show_statustext("Connecting...");
|
show_statustext("Connecting...");
|
||||||
}
|
}
|
||||||
|
@ -534,7 +534,7 @@ PROCESS_THREAD(www_process, ev, data)
|
||||||
resolv_lookup((char *)data) != NULL) {
|
resolv_lookup((char *)data) != NULL) {
|
||||||
open_url();
|
open_url();
|
||||||
} else {
|
} else {
|
||||||
show_statustext("Host not found.");
|
show_statustext("Host not found");
|
||||||
}
|
}
|
||||||
#endif /* UIP_UDP */
|
#endif /* UIP_UDP */
|
||||||
} else if(ev == ctk_signal_window_close ||
|
} else if(ev == ctk_signal_window_close ||
|
||||||
|
@ -602,7 +602,7 @@ webclient_timedout(void)
|
||||||
void
|
void
|
||||||
webclient_closed(void)
|
webclient_closed(void)
|
||||||
{
|
{
|
||||||
show_statustext("Stopped.");
|
show_statustext("Stopped");
|
||||||
petsciiconv_topetscii(webpageptr - x, x);
|
petsciiconv_topetscii(webpageptr - x, x);
|
||||||
CTK_WIDGET_FOCUS(&mainwindow, &downbutton);
|
CTK_WIDGET_FOCUS(&mainwindow, &downbutton);
|
||||||
redraw_window();
|
redraw_window();
|
||||||
|
@ -638,12 +638,13 @@ void
|
||||||
webclient_datahandler(char *data, uint16_t len)
|
webclient_datahandler(char *data, uint16_t len)
|
||||||
{
|
{
|
||||||
if(len > 0) {
|
if(len > 0) {
|
||||||
if(strcmp(webclient_mimetype(), http_texthtml) == 0) {
|
if(strstr(webclient_mimetype(), http_html + 1) != 0) {
|
||||||
count = (count + 1) & 3;
|
count = (count + 1) & 3;
|
||||||
show_statustext(receivingmsgs[count]);
|
show_statustext(receivingmsgs[count]);
|
||||||
htmlparser_parse(data, len);
|
htmlparser_parse(data, len);
|
||||||
redraw_window();
|
redraw_window();
|
||||||
} else {
|
} else {
|
||||||
|
show_statustext("Cannot display web page");
|
||||||
uip_abort();
|
uip_abort();
|
||||||
#if WWW_CONF_WITH_WGET
|
#if WWW_CONF_WITH_WGET
|
||||||
ctk_dialog_open(&wgetdialog);
|
ctk_dialog_open(&wgetdialog);
|
||||||
|
@ -656,7 +657,7 @@ webclient_datahandler(char *data, uint16_t len)
|
||||||
|
|
||||||
if(data == NULL) {
|
if(data == NULL) {
|
||||||
loading = 0;
|
loading = 0;
|
||||||
show_statustext("Done.");
|
show_statustext("Done");
|
||||||
petsciiconv_topetscii(webpageptr - x, x);
|
petsciiconv_topetscii(webpageptr - x, x);
|
||||||
CTK_WIDGET_FOCUS(&mainwindow, &urlentry);
|
CTK_WIDGET_FOCUS(&mainwindow, &urlentry);
|
||||||
redraw_window();
|
redraw_window();
|
||||||
|
|
|
@ -6,9 +6,8 @@ http_get "GET "
|
||||||
http_10 "HTTP/1.0"
|
http_10 "HTTP/1.0"
|
||||||
http_11 "HTTP/1.1"
|
http_11 "HTTP/1.1"
|
||||||
http_content_type "content-type: "
|
http_content_type "content-type: "
|
||||||
http_texthtml "text/html"
|
|
||||||
http_location "location: "
|
http_location "location: "
|
||||||
http_host "host: "
|
http_host "Host: "
|
||||||
http_crnl "\r\n"
|
http_crnl "\r\n"
|
||||||
http_index_htm "/index.htm"
|
http_index_htm "/index.htm"
|
||||||
http_index_html "/index.html"
|
http_index_html "/index.html"
|
||||||
|
|
|
@ -22,15 +22,12 @@ const char http_11[9] =
|
||||||
const char http_content_type[15] =
|
const char http_content_type[15] =
|
||||||
/* "content-type: " */
|
/* "content-type: " */
|
||||||
{0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, };
|
{0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x20, };
|
||||||
const char http_texthtml[10] =
|
|
||||||
/* "text/html" */
|
|
||||||
{0x74, 0x65, 0x78, 0x74, 0x2f, 0x68, 0x74, 0x6d, 0x6c, };
|
|
||||||
const char http_location[11] =
|
const char http_location[11] =
|
||||||
/* "location: " */
|
/* "location: " */
|
||||||
{0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, };
|
{0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, };
|
||||||
const char http_host[7] =
|
const char http_host[7] =
|
||||||
/* "host: " */
|
/* "Host: " */
|
||||||
{0x68, 0x6f, 0x73, 0x74, 0x3a, 0x20, };
|
{0x48, 0x6f, 0x73, 0x74, 0x3a, 0x20, };
|
||||||
const char http_crnl[3] =
|
const char http_crnl[3] =
|
||||||
/* "\r\n" */
|
/* "\r\n" */
|
||||||
{0xd, 0xa, };
|
{0xd, 0xa, };
|
||||||
|
|
|
@ -6,7 +6,6 @@ extern const char http_get[5];
|
||||||
extern const char http_10[9];
|
extern const char http_10[9];
|
||||||
extern const char http_11[9];
|
extern const char http_11[9];
|
||||||
extern const char http_content_type[15];
|
extern const char http_content_type[15];
|
||||||
extern const char http_texthtml[10];
|
|
||||||
extern const char http_location[11];
|
extern const char http_location[11];
|
||||||
extern const char http_host[7];
|
extern const char http_host[7];
|
||||||
extern const char http_crnl[3];
|
extern const char http_crnl[3];
|
||||||
|
|
|
@ -284,7 +284,7 @@ void
|
||||||
tcp_attach(struct uip_conn *conn,
|
tcp_attach(struct uip_conn *conn,
|
||||||
void *appstate)
|
void *appstate)
|
||||||
{
|
{
|
||||||
register uip_tcp_appstate_t *s;
|
uip_tcp_appstate_t *s;
|
||||||
|
|
||||||
s = &conn->appstate;
|
s = &conn->appstate;
|
||||||
s->p = PROCESS_CURRENT();
|
s->p = PROCESS_CURRENT();
|
||||||
|
@ -298,7 +298,7 @@ void
|
||||||
udp_attach(struct uip_udp_conn *conn,
|
udp_attach(struct uip_udp_conn *conn,
|
||||||
void *appstate)
|
void *appstate)
|
||||||
{
|
{
|
||||||
register uip_udp_appstate_t *s;
|
uip_udp_appstate_t *s;
|
||||||
|
|
||||||
s = &conn->appstate;
|
s = &conn->appstate;
|
||||||
s->p = PROCESS_CURRENT();
|
s->p = PROCESS_CURRENT();
|
||||||
|
@ -394,7 +394,7 @@ eventhandler(process_event_t ev, process_data_t data)
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
register struct uip_conn *cptr;
|
struct uip_conn *cptr;
|
||||||
|
|
||||||
for(cptr = &uip_conns[0]; cptr < &uip_conns[UIP_CONNS]; ++cptr) {
|
for(cptr = &uip_conns[0]; cptr < &uip_conns[UIP_CONNS]; ++cptr) {
|
||||||
if(cptr->appstate.p == p) {
|
if(cptr->appstate.p == p) {
|
||||||
|
@ -406,7 +406,7 @@ eventhandler(process_event_t ev, process_data_t data)
|
||||||
#endif /* UIP_TCP */
|
#endif /* UIP_TCP */
|
||||||
#if UIP_UDP
|
#if UIP_UDP
|
||||||
{
|
{
|
||||||
register struct uip_udp_conn *cptr;
|
struct uip_udp_conn *cptr;
|
||||||
|
|
||||||
for(cptr = &uip_udp_conns[0];
|
for(cptr = &uip_udp_conns[0];
|
||||||
cptr < &uip_udp_conns[UIP_UDP_CONNS]; ++cptr) {
|
cptr < &uip_udp_conns[UIP_UDP_CONNS]; ++cptr) {
|
||||||
|
@ -697,7 +697,7 @@ tcpip_poll_tcp(struct uip_conn *conn)
|
||||||
void
|
void
|
||||||
tcpip_uipcall(void)
|
tcpip_uipcall(void)
|
||||||
{
|
{
|
||||||
register uip_udp_appstate_t *ts;
|
uip_udp_appstate_t *ts;
|
||||||
|
|
||||||
#if UIP_UDP
|
#if UIP_UDP
|
||||||
if(uip_conn != NULL) {
|
if(uip_conn != NULL) {
|
||||||
|
@ -712,7 +712,7 @@ tcpip_uipcall(void)
|
||||||
#if UIP_TCP
|
#if UIP_TCP
|
||||||
{
|
{
|
||||||
static unsigned char i;
|
static unsigned char i;
|
||||||
register struct listenport *l;
|
struct listenport *l;
|
||||||
|
|
||||||
/* If this is a connection request for a listening port, we must
|
/* If this is a connection request for a listening port, we must
|
||||||
mark the connection with the right process ID. */
|
mark the connection with the right process ID. */
|
||||||
|
|
Loading…
Reference in a new issue