Add:Core:Export postal merge functions
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sat, 11 Sep 2010 19:39:24 +0000 (19:39 +0000)
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Sat, 11 Sep 2010 19:39:24 +0000 (19:39 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@3569 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/navit/search.c
navit/navit/search.h

index 8fe287d..7ebab1c 100644 (file)
@@ -555,8 +555,8 @@ search_list_search_free(struct search_list *sl, int level)
 
 }
 
-static char *
-postal_merge(char *mask, char *new)
+char *
+search_postal_merge(char *mask, char *new)
 {
        dbg(1,"enter %s %s\n", mask, new);
        int i;
@@ -581,6 +581,17 @@ postal_merge(char *mask, char *new)
        return ret;
 }
 
+char *
+search_postal_merge_replace(char *mask, char *new)
+{
+       char *ret=search_postal_merge(mask, new);
+       if (!ret)
+               return mask;
+       g_free(mask);
+       return ret;
+}
+
+
 static int
 postal_match(char *postal, char *mask)
 {
@@ -612,7 +623,7 @@ search_add_result(struct search_list_level *le, struct search_list_common *slc)
                le->list=g_list_append(le->list, slc);
                return 1;
        }
-       merged=postal_merge(slo->postal_mask, slc->postal);
+       merged=search_postal_merge(slo->postal_mask, slc->postal);
        if (merged) {
                g_free(slo->postal_mask);
                slo->postal_mask=merged;
index fed6d78..88be12b 100644 (file)
@@ -76,6 +76,8 @@ struct search_list;
 struct search_list_result;
 struct search_list *search_list_new(struct mapset *ms);
 void search_list_search(struct search_list *this_, struct attr *search_attr, int partial);
+char *search_postal_merge(char *mask, char *new);
+char *search_postal_merge_replace(char *mask, char *new);
 struct search_list_common *search_list_select(struct search_list *this_, enum attr_type attr_type, int id, int mode);
 struct search_list_result *search_list_get_result(struct search_list *this_);
 void search_list_destroy(struct search_list *this_);