- if (strcmp(field_name, "Package") == 0) {
- new_node->name = search_name_hashtable(field_value);
- }
- else if (strcmp(field_name, "Version") == 0) {
- new_node->version = search_name_hashtable(field_value);
- }
- else if (strcmp(field_name, "Pre-Depends") == 0) {
- add_split_dependencies(new_node, field_value, EDGE_PRE_DEPENDS);
- }
- else if (strcmp(field_name, "Depends") == 0) {
- add_split_dependencies(new_node, field_value, EDGE_DEPENDS);
- }
- else if (strcmp(field_name, "Replaces") == 0) {
- add_split_dependencies(new_node, field_value, EDGE_REPLACES);
- }
- else if (strcmp(field_name, "Provides") == 0) {
- add_split_dependencies(new_node, field_value, EDGE_PROVIDES);
- }
- else if (strcmp(field_name, "Conflicts") == 0) {
- add_split_dependencies(new_node, field_value, EDGE_CONFLICTS);
- }
- else if (strcmp(field_name, "Suggests") == 0) {
- add_split_dependencies(new_node, field_value, EDGE_SUGGESTS);
- }
- else if (strcmp(field_name, "Recommends") == 0) {
- add_split_dependencies(new_node, field_value, EDGE_RECOMMENDS);
- }
- else if (strcmp(field_name, "Enhances") == 0) {
- add_split_dependencies(new_node, field_value, EDGE_ENHANCES);
+ field_num = compare_string_array(field_names, field_name);
+ switch(field_num) {
+ case 0: /* Package */
+ new_node->name = search_name_hashtable(field_value);
+ break;
+ case 1: /* Version */
+ new_node->version = search_name_hashtable(field_value);
+ break;
+ case 2: /* Pre-Depends */
+ add_split_dependencies(new_node, field_value, EDGE_PRE_DEPENDS);
+ break;
+ case 3: /* Depends */
+ add_split_dependencies(new_node, field_value, EDGE_DEPENDS);
+ break;
+ case 4: /* Replaces */
+ add_split_dependencies(new_node, field_value, EDGE_REPLACES);
+ break;
+ case 5: /* Provides */
+ add_split_dependencies(new_node, field_value, EDGE_PROVIDES);
+ break;
+ case 6: /* Conflicts */
+ add_split_dependencies(new_node, field_value, EDGE_CONFLICTS);
+ break;
+ case 7: /* Suggests */
+ add_split_dependencies(new_node, field_value, EDGE_SUGGESTS);
+ break;
+ case 8: /* Recommends */
+ add_split_dependencies(new_node, field_value, EDGE_RECOMMENDS);
+ break;
+ case 9: /* Enhances */
+ add_split_dependencies(new_node, field_value, EDGE_ENHANCES);
+ break;