mirror of
https://github.com/rkd77/elinks.git
synced 2025-02-02 15:09:23 -05:00
[dom] cast
This commit is contained in:
parent
a453e004c5
commit
f359d8e97b
@ -53,7 +53,7 @@ get_rss_text(struct dom_node *node, enum rss_element_type type)
|
|||||||
static void
|
static void
|
||||||
render_rss_item(struct dom_renderer *renderer, struct dom_node *item)
|
render_rss_item(struct dom_renderer *renderer, struct dom_node *item)
|
||||||
{
|
{
|
||||||
struct rss_renderer *rss = renderer->data;
|
struct rss_renderer *rss = (struct rss_renderer *)renderer->data;
|
||||||
struct dom_string *title = get_rss_text(item, RSS_ELEMENT_TITLE);
|
struct dom_string *title = get_rss_text(item, RSS_ELEMENT_TITLE);
|
||||||
struct dom_string *link = get_rss_text(item, RSS_ELEMENT_LINK);
|
struct dom_string *link = get_rss_text(item, RSS_ELEMENT_LINK);
|
||||||
struct dom_string *author = get_rss_text(item, RSS_ELEMENT_AUTHOR);
|
struct dom_string *author = get_rss_text(item, RSS_ELEMENT_AUTHOR);
|
||||||
@ -124,8 +124,8 @@ flush_rss_item(struct dom_renderer *renderer, struct rss_renderer *rss)
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
dom_rss_push_element(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
dom_rss_push_element(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct rss_renderer *rss = renderer->data;
|
struct rss_renderer *rss = (struct rss_renderer *)renderer->data;
|
||||||
|
|
||||||
assert(node && node->parent && renderer && renderer->document);
|
assert(node && node->parent && renderer && renderer->document);
|
||||||
|
|
||||||
@ -147,8 +147,8 @@ dom_rss_push_element(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
dom_rss_pop_element(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
dom_rss_pop_element(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct rss_renderer *rss = renderer->data;
|
struct rss_renderer *rss = (struct rss_renderer *)renderer->data;
|
||||||
|
|
||||||
assert(node && node->parent && renderer && renderer->document);
|
assert(node && node->parent && renderer && renderer->document);
|
||||||
|
|
||||||
@ -165,7 +165,7 @@ dom_rss_pop_element(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
dom_rss_push_document(struct dom_stack *stack, struct dom_node *root, void *xxx)
|
dom_rss_push_document(struct dom_stack *stack, struct dom_node *root, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct document *document = renderer->document;
|
struct document *document = renderer->document;
|
||||||
struct rss_renderer *rss;
|
struct rss_renderer *rss;
|
||||||
int type;
|
int type;
|
||||||
@ -215,8 +215,8 @@ dom_rss_push_document(struct dom_stack *stack, struct dom_node *root, void *xxx)
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
dom_rss_pop_document(struct dom_stack *stack, struct dom_node *root, void *xxx)
|
dom_rss_pop_document(struct dom_stack *stack, struct dom_node *root, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct rss_renderer *rss = renderer->data;
|
struct rss_renderer *rss = (struct rss_renderer *)renderer->data;
|
||||||
|
|
||||||
mem_free(rss);
|
mem_free(rss);
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ struct source_renderer {
|
|||||||
static inline void
|
static inline void
|
||||||
render_dom_flush(struct dom_renderer *renderer, char *string)
|
render_dom_flush(struct dom_renderer *renderer, char *string)
|
||||||
{
|
{
|
||||||
struct source_renderer *data = renderer->data;
|
struct source_renderer *data = (struct source_renderer *)renderer->data;
|
||||||
struct screen_char *template_ = &data->styles[DOM_NODE_TEXT];
|
struct screen_char *template_ = &data->styles[DOM_NODE_TEXT];
|
||||||
int length = string - renderer->position;
|
int length = string - renderer->position;
|
||||||
|
|
||||||
@ -148,8 +148,8 @@ render_dom_node_enhanced_text(struct dom_renderer *renderer, struct dom_node *no
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
render_dom_node_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
render_dom_node_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct source_renderer *data = renderer->data;
|
struct source_renderer *data = (struct source_renderer *)renderer->data;
|
||||||
|
|
||||||
assert(node && renderer && renderer->document);
|
assert(node && renderer && renderer->document);
|
||||||
|
|
||||||
@ -170,8 +170,8 @@ render_dom_node_source(struct dom_stack *stack, struct dom_node *node, void *xxx
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
render_dom_element_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
render_dom_element_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct source_renderer *data = renderer->data;
|
struct source_renderer *data = (struct source_renderer *)renderer->data;
|
||||||
|
|
||||||
assert(node && renderer && renderer->document);
|
assert(node && renderer && renderer->document);
|
||||||
|
|
||||||
@ -183,10 +183,10 @@ render_dom_element_source(struct dom_stack *stack, struct dom_node *node, void *
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
render_dom_element_end_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
render_dom_element_end_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct source_renderer *data = renderer->data;
|
struct source_renderer *data = (struct source_renderer *)renderer->data;
|
||||||
struct dom_stack_state *state = get_dom_stack_top(stack);
|
struct dom_stack_state *state = get_dom_stack_top(stack);
|
||||||
struct sgml_parser_state *pstate = get_dom_stack_state_data(stack->contexts[0], state);
|
struct sgml_parser_state *pstate = (struct sgml_parser_state *)get_dom_stack_state_data(stack->contexts[0], state);
|
||||||
struct dom_scanner_token *token = &pstate->end_token;
|
struct dom_scanner_token *token = &pstate->end_token;
|
||||||
char *string = token->string.string;
|
char *string = token->string.string;
|
||||||
int length = token->string.length;
|
int length = token->string.length;
|
||||||
@ -231,8 +231,8 @@ set_base_uri(struct dom_renderer *renderer, char *value, size_t valuelen)
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
render_dom_attribute_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
render_dom_attribute_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct source_renderer *data = renderer->data;
|
struct source_renderer *data = (struct source_renderer *)renderer->data;
|
||||||
struct screen_char *template_ = &data->styles[node->type];
|
struct screen_char *template_ = &data->styles[node->type];
|
||||||
|
|
||||||
assert(node && renderer->document);
|
assert(node && renderer->document);
|
||||||
@ -307,8 +307,8 @@ render_dom_attribute_source(struct dom_stack *stack, struct dom_node *node, void
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
render_dom_cdata_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
render_dom_cdata_source(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct source_renderer *data = renderer->data;
|
struct source_renderer *data = (struct source_renderer *)renderer->data;
|
||||||
char *string = node->string.string;
|
char *string = node->string.string;
|
||||||
|
|
||||||
assert(node && renderer && renderer->document);
|
assert(node && renderer && renderer->document);
|
||||||
@ -330,7 +330,7 @@ render_dom_cdata_source(struct dom_stack *stack, struct dom_node *node, void *xx
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
render_dom_document_start(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
render_dom_document_start(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct document *document = renderer->document;
|
struct document *document = renderer->document;
|
||||||
struct source_renderer *data;
|
struct source_renderer *data;
|
||||||
int type;
|
int type;
|
||||||
@ -391,8 +391,8 @@ render_dom_document_start(struct dom_stack *stack, struct dom_node *node, void *
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
render_dom_document_end(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
render_dom_document_end(struct dom_stack *stack, struct dom_node *node, void *xxx)
|
||||||
{
|
{
|
||||||
struct dom_renderer *renderer = stack->current->data;
|
struct dom_renderer *renderer = (struct dom_renderer *)stack->current->data;
|
||||||
struct source_renderer *data = renderer->data;
|
struct source_renderer *data = (struct source_renderer *)renderer->data;
|
||||||
|
|
||||||
/* If there are no non-element nodes after the last element node make
|
/* If there are no non-element nodes after the last element node make
|
||||||
* sure that we flush to the end of the cache entry source including
|
* sure that we flush to the end of the cache entry source including
|
||||||
|
@ -116,7 +116,7 @@ struct dom_scanner_info dom_css_scanner_info = {
|
|||||||
&& check_css_precedence(*(s), skipto)) { \
|
&& check_css_precedence(*(s), skipto)) { \
|
||||||
if (isquote(*(s))) { \
|
if (isquote(*(s))) { \
|
||||||
int size = (scanner)->end - (s); \
|
int size = (scanner)->end - (s); \
|
||||||
char *end = memchr(s + 1, *(s), size); \
|
char *end = (char *)memchr(s + 1, *(s), size); \
|
||||||
\
|
\
|
||||||
if (end) (s) = end; \
|
if (end) (s) = end; \
|
||||||
} \
|
} \
|
||||||
@ -305,7 +305,7 @@ scan_css_token(struct dom_scanner *scanner, struct dom_scanner_token *token)
|
|||||||
} else if (isquote(first_char)) {
|
} else if (isquote(first_char)) {
|
||||||
/* TODO: Escaped delimiters --jonas */
|
/* TODO: Escaped delimiters --jonas */
|
||||||
int size = scanner->end - string;
|
int size = scanner->end - string;
|
||||||
char *string_end = memchr(string, first_char, size);
|
char *string_end = (char *)memchr(string, first_char, size);
|
||||||
|
|
||||||
if (string_end) {
|
if (string_end) {
|
||||||
/* We don't want the delimiters in the token */
|
/* We don't want the delimiters in the token */
|
||||||
|
@ -50,7 +50,7 @@ add_sgml_document(struct sgml_parser *parser)
|
|||||||
static inline struct dom_node *
|
static inline struct dom_node *
|
||||||
add_sgml_element(struct dom_stack *stack, struct dom_scanner_token *token)
|
add_sgml_element(struct dom_stack *stack, struct dom_scanner_token *token)
|
||||||
{
|
{
|
||||||
struct sgml_parser *parser = get_sgml_parser(stack);
|
struct sgml_parser *parser = (struct sgml_parser *)get_sgml_parser(stack);
|
||||||
struct dom_node *parent = get_dom_stack_top(stack)->node;
|
struct dom_node *parent = get_dom_stack_top(stack)->node;
|
||||||
struct dom_stack_state *state;
|
struct dom_stack_state *state;
|
||||||
struct sgml_parser_state *pstate;
|
struct sgml_parser_state *pstate;
|
||||||
@ -69,7 +69,7 @@ add_sgml_element(struct dom_stack *stack, struct dom_scanner_token *token)
|
|||||||
state = get_dom_stack_top(stack);
|
state = get_dom_stack_top(stack);
|
||||||
assert(node == state->node);
|
assert(node == state->node);
|
||||||
|
|
||||||
pstate = get_sgml_parser_state(stack, state);
|
pstate = (struct sgml_parser_state *)get_sgml_parser_state(stack, state);
|
||||||
pstate->info = node_info;
|
pstate->info = node_info;
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
@ -80,7 +80,7 @@ static inline struct dom_node *
|
|||||||
add_sgml_attribute(struct dom_stack *stack,
|
add_sgml_attribute(struct dom_stack *stack,
|
||||||
struct dom_scanner_token *token, struct dom_scanner_token *valtoken)
|
struct dom_scanner_token *token, struct dom_scanner_token *valtoken)
|
||||||
{
|
{
|
||||||
struct sgml_parser *parser = get_sgml_parser(stack);
|
struct sgml_parser *parser = (struct sgml_parser *)get_sgml_parser(stack);
|
||||||
struct dom_node *parent = get_dom_stack_top(stack)->node;
|
struct dom_node *parent = get_dom_stack_top(stack)->node;
|
||||||
struct dom_string *value = valtoken ? &valtoken->string : NULL;
|
struct dom_string *value = valtoken ? &valtoken->string : NULL;
|
||||||
struct sgml_node_info *info;
|
struct sgml_node_info *info;
|
||||||
@ -159,7 +159,7 @@ add_sgml_node(struct dom_stack *stack, enum dom_node_type type, struct dom_scann
|
|||||||
static enum dom_code
|
static enum dom_code
|
||||||
call_sgml_error_function(struct dom_stack *stack, struct dom_scanner_token *token)
|
call_sgml_error_function(struct dom_stack *stack, struct dom_scanner_token *token)
|
||||||
{
|
{
|
||||||
struct sgml_parser *parser = get_sgml_parser(stack);
|
struct sgml_parser *parser = (struct sgml_parser *)get_sgml_parser(stack);
|
||||||
unsigned int line = get_sgml_parser_line_number(parser);
|
unsigned int line = get_sgml_parser_line_number(parser);
|
||||||
|
|
||||||
assert(parser->error_func);
|
assert(parser->error_func);
|
||||||
@ -321,7 +321,7 @@ parse_sgml_plain(struct dom_stack *stack, struct dom_scanner *scanner)
|
|||||||
if (state) {
|
if (state) {
|
||||||
struct sgml_parser_state *pstate;
|
struct sgml_parser_state *pstate;
|
||||||
|
|
||||||
pstate = get_sgml_parser_state(stack, state);
|
pstate = (struct sgml_parser_state *)get_sgml_parser_state(stack, state);
|
||||||
copy_struct(&pstate->end_token, token);
|
copy_struct(&pstate->end_token, token);
|
||||||
|
|
||||||
pop_dom_state(stack, state);
|
pop_dom_state(stack, state);
|
||||||
@ -467,8 +467,8 @@ struct sgml_parsing_state {
|
|||||||
enum dom_code
|
enum dom_code
|
||||||
sgml_parsing_push(struct dom_stack *stack, struct dom_node *node, void *data)
|
sgml_parsing_push(struct dom_stack *stack, struct dom_node *node, void *data)
|
||||||
{
|
{
|
||||||
struct sgml_parser *parser = get_sgml_parser(stack);
|
struct sgml_parser *parser = (struct sgml_parser *)get_sgml_parser(stack);
|
||||||
struct sgml_parsing_state *parsing = data;
|
struct sgml_parsing_state *parsing = (struct sgml_parsing_state *)data;
|
||||||
int count_lines = !!(parser->flags & SGML_PARSER_COUNT_LINES);
|
int count_lines = !!(parser->flags & SGML_PARSER_COUNT_LINES);
|
||||||
int complete = !!(parser->flags & SGML_PARSER_COMPLETE);
|
int complete = !!(parser->flags & SGML_PARSER_COMPLETE);
|
||||||
int incremental = !!(parser->flags & SGML_PARSER_INCREMENTAL);
|
int incremental = !!(parser->flags & SGML_PARSER_INCREMENTAL);
|
||||||
@ -557,8 +557,8 @@ sgml_parsing_push(struct dom_stack *stack, struct dom_node *node, void *data)
|
|||||||
enum dom_code
|
enum dom_code
|
||||||
sgml_parsing_pop(struct dom_stack *stack, struct dom_node *node, void *data)
|
sgml_parsing_pop(struct dom_stack *stack, struct dom_node *node, void *data)
|
||||||
{
|
{
|
||||||
struct sgml_parser *parser = get_sgml_parser(stack);
|
struct sgml_parser *parser = (struct sgml_parser *)get_sgml_parser(stack);
|
||||||
struct sgml_parsing_state *parsing = data;
|
struct sgml_parsing_state *parsing = (struct sgml_parsing_state *)data;
|
||||||
|
|
||||||
/* Only clean up the stack if complete so that we get proper nesting. */
|
/* Only clean up the stack if complete so that we get proper nesting. */
|
||||||
if (parser->flags & SGML_PARSER_COMPLETE) {
|
if (parser->flags & SGML_PARSER_COMPLETE) {
|
||||||
@ -626,7 +626,7 @@ get_sgml_parser_line_number(struct sgml_parser *parser)
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
state = get_dom_stack_top(&parser->parsing);
|
state = get_dom_stack_top(&parser->parsing);
|
||||||
pstate = get_dom_stack_state_data(parser->parsing.contexts[0], state);
|
pstate = (struct sgml_parsing_state *)get_dom_stack_state_data(parser->parsing.contexts[0], state);
|
||||||
|
|
||||||
assert(pstate->scanner.count_lines && pstate->scanner.lineno);
|
assert(pstate->scanner.count_lines && pstate->scanner.lineno);
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ get_sgml_node_info(struct sgml_node_info list[], struct dom_node *node)
|
|||||||
size_t obj_size = sizeof(struct sgml_node_info);
|
size_t obj_size = sizeof(struct sgml_node_info);
|
||||||
void *match = bsearch(node, map, map_size, obj_size, sgml_info_strcmp);
|
void *match = bsearch(node, map, map_size, obj_size, sgml_info_strcmp);
|
||||||
|
|
||||||
return match ? match : list;
|
return (struct sgml_node_info *)(match ? match : list);
|
||||||
}
|
}
|
||||||
|
|
||||||
enum sgml_document_type {
|
enum sgml_document_type {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user