Index: xml.c =================================================================== RCS file: /cvsroot/texinfo/texinfo/makeinfo/xml.c,v retrieving revision 1.14 diff -u -r1.14 xml.c --- xml.c 12 Nov 2002 18:34:07 -0000 1.14 +++ xml.c 13 Nov 2002 02:41:25 -0000 @@ -384,7 +384,6 @@ static int in_table_title = 0; static int in_indexentry = 0; -static int in_secondary = 0; static int in_indexterm = 0; static int xml_current_element (); @@ -1224,8 +1223,6 @@ /* * INDEX */ -/* Used to separate primary and secondary entries in an index */ -#define INDEX_SEP ", " xml_insert_indexterm (indexterm, index) char *indexterm; @@ -1241,29 +1238,11 @@ } else { - char *primary = NULL, *secondary; - if (strstr (indexterm+1, INDEX_SEP)) - { - primary = xmalloc (strlen (indexterm) + 1); - strcpy (primary, indexterm); - secondary = strstr (primary+1, INDEX_SEP); - *secondary = '\0'; - secondary += strlen (INDEX_SEP); - } xml_insert_element_with_attribute (INDEXTERM, START, "role=\"%s\"", index); in_indexterm = 1; xml_insert_element (PRIMARY, START); - if (primary) - execute_string (primary); - else - execute_string (indexterm); + execute_string ("%s", indexterm); xml_insert_element (PRIMARY, END); - if (primary) - { - xml_insert_element (SECONDARY, START); - execute_string (secondary); - xml_insert_element (SECONDARY, END); - } xml_insert_element (INDEXTERM, END); in_indexterm = 0; } @@ -1275,18 +1254,6 @@ static char index_primary[2000]; /** xx no fixed limit */ static int indexdivempty = 0; -static void -xml_close_indexentry () -{ - if (!in_indexentry) - return; - if (in_secondary) - xml_insert_element (SECONDARYIE, END); - xml_insert_element (INDEXENTRY, END); - in_secondary = 0; - in_indexentry = 0; -} - void xml_begin_index () { @@ -1341,7 +1308,6 @@ void xml_end_index () { - xml_close_indexentry (); if (xml_index_divisions) xml_insert_element (INDEXDIV, END); xml_insert_element (PRINTINDEX, END); @@ -1360,7 +1326,6 @@ if (tolower (c) != last_division_letter && isalpha (c)) { last_division_letter = tolower (c); - xml_close_indexentry (); if (!indexdivempty) { xml_insert_element (INDEXDIV, END); @@ -1382,56 +1347,16 @@ xml_index_divide (entry); indexdivempty = 0; - if (strstr (entry+1, INDEX_SEP)) - { - primary = xmalloc (strlen (entry) + 1); - strcpy (primary, entry); - secondary = strstr (primary+1, INDEX_SEP); - *secondary = '\0'; - secondary += strlen (INDEX_SEP); - - if (in_secondary && strcmp (primary, index_primary) == 0) - { - xml_insert_element (SECONDARYIE, END); - xml_insert_element (SECONDARYIE, START); - execute_string (secondary); - } - else - { - xml_close_indexentry (); - xml_insert_element (INDEXENTRY, START); - in_indexentry = 1; - xml_insert_element (PRIMARYIE, START); - execute_string (primary); - xml_insert_element (PRIMARYIE, END); - xml_insert_element (SECONDARYIE, START); - execute_string (secondary); - in_secondary = 1; - } - } - else - { - xml_close_indexentry (); - xml_insert_element (INDEXENTRY, START); - in_indexentry = 1; - xml_insert_element (PRIMARYIE, START); - execute_string (entry); - } + xml_insert_element (INDEXENTRY, START); + in_indexentry = 1; + xml_insert_element (PRIMARYIE, START); + execute_string ("%s", entry); add_word_args (", %s", _("see ")); xml_insert_element_with_attribute (XREF, START, "linkend=\"%s\"", xml_id (node)); xml_pop_current_element (); - - if (primary) - { - strcpy (index_primary, primary); - /* xml_insert_element (SECONDARYIE, END);*/ - /* *(secondary-1) = ',';*/ /* necessary ? */ - free (primary); - } - else - xml_insert_element (PRIMARYIE, END); - - /* xml_insert_element (INDEXENTRY, END); */ + xml_insert_element (PRIMARYIE, END); + xml_insert_element (INDEXENTRY, END); + in_indexentry = 1; } /*