}
-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;
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)
{
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;
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_);