[prev in list] [next in list] [prev in thread] [next in thread] 

List:       elinks-cvs
Subject:    [ELinks] elinks (ECMASCRIPT) - jonas: Cleanup SGML map lookup.
From:       cvs () pasky ! ji ! cz
Date:       2004-02-29 2:17:24
Message-ID: 20040229021724.3424.qmail () machine ! sinus ! cz
[Download RAW message or body]

This is an automated notification of a change to the ELinks CVS tree.

Author: jonas
Module: elinks
   Tag: ECMASCRIPT
  Date: Sun Feb 29 02:17:24 2004 GMT

---- Log message:

Cleanup SGML map lookup.


---- Files affected:

elinks/src/document/sgml/html:
   html.c (1.1.2.22 -> 1.1.2.23) 
    http://cvsweb.elinks.or.cz/cvsweb.cgi/elinks/src/document/sgml/html/html.c.diff?r1=1.1.2.22&r2=1.1.2.23&f=u



---- Diffs:

 elinks/src/document/sgml/html/html.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)


Index: elinks/src/document/sgml/html/html.c
diff -u elinks/src/document/sgml/html/html.c:1.1.2.22 \
                elinks/src/document/sgml/html/html.c:1.1.2.23
--- elinks/src/document/sgml/html/html.c:1.1.2.22	Sun Feb 29 03:10:37 2004
+++ elinks/src/document/sgml/html/html.c	Sun Feb 29 03:17:19 2004
@@ -53,9 +53,12 @@
 }
 
 static inline struct sgml_node_info *
-get_sgml_node_info(struct sgml_node_info list[], size_t size, struct dom_node *node)
+get_sgml_node_info(struct sgml_node_info list[], struct dom_node *node)
 {
-	void *match = bsearch(node, list, size, sizeof(struct sgml_node_info), \
html_info_strcmp); +	struct sgml_node_info *map = &list[1];
+	size_t map_size = list->length;
+	size_t obj_size = sizeof(struct sgml_node_info);
+	void *match = bsearch(node, map, map_size, obj_size, html_info_strcmp);
 
 	return match ? match : list;
 }
@@ -93,13 +96,11 @@
 {
 	struct sgml_parser *parser = navigator->data;
 	struct sgml_parser_state *state = data;
-	struct sgml_node_info *map = html_elements + 1;
-	size_t map_size = html_elements->length;
 
 	assert(navigator && node && state);
 	assert(dom_navigator_has_parents(navigator));
 
-	state->info = get_sgml_node_info(map, map_size, node);
+	state->info = get_sgml_node_info(html_elements, node);
 
 	/* TODO: Move to SGML parser main loop and disguise these element ends
 	 * in some internal processing instruction. */
@@ -113,13 +114,11 @@
 add_html_attribute_node(struct dom_navigator *navigator, struct dom_node *node, void \
*data)  {
 	struct sgml_parser_state *state = data;
-	struct sgml_node_info *map = html_attributes + 1;
-	size_t map_size = html_attributes->length;
 
 	assert(navigator && node && state);
 	assert(dom_navigator_has_parents(navigator));
 
-	state->info = get_sgml_node_info(map, map_size, node);
+	state->info = get_sgml_node_info(html_attributes, node);
 
 	return node;
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic