diff options
Diffstat (limited to 'deps/sysobj_early/src')
| -rw-r--r-- | deps/sysobj_early/src/nice_name.c | 28 | ||||
| -rw-r--r-- | deps/sysobj_early/src/util_ids.c | 4 | 
2 files changed, 20 insertions, 12 deletions
| diff --git a/deps/sysobj_early/src/nice_name.c b/deps/sysobj_early/src/nice_name.c index e5e15a46..fdb4557c 100644 --- a/deps/sysobj_early/src/nice_name.c +++ b/deps/sysobj_early/src/nice_name.c @@ -34,11 +34,15 @@ gboolean str_shorten(gchar *str, const gchar *find, const gchar *replace) {      long unsigned lr = strlen(replace);      gchar *p = strstr(str, find);      if (p) { -        if (lr > lf) lr = lf; -        gchar *buff = g_strnfill(lf, ' '); -        strncpy(buff, replace, lr); -        strncpy(p, buff, lf); -        g_free(buff); +        if(lr==lf){ +            strncpy(p, replace, lf); +        } else { +            if (lr > lf) lr = lf; +            gchar *buff = g_strnfill(lf, ' '); +            if(lr) strncpy(buff, replace, lr); +            strncpy(p, buff, lf); +            g_free(buff); +	}          return TRUE;      }      return FALSE; @@ -50,11 +54,15 @@ gboolean str_shorten_anycase(gchar *str, const gchar *find, const gchar *replace      long unsigned lr = strlen(replace);      gchar *p = strcasestr(str, find);      if (p) { -        if (lr > lf) lr = lf; -        gchar *buff = g_strnfill(lf, ' '); -        strncpy(buff, replace, lr); -        strncpy(p, buff, lf); -        g_free(buff); +        if(lr==lf){ +            strncpy(p, replace, lf); +        } else { +            if (lr > lf) lr = lf; +            gchar *buff = g_strnfill(lf, ' '); +            if(lr) strncpy(buff, replace, lr); +            strncpy(p, buff, lf); +            g_free(buff); +	}          return TRUE;      }      return FALSE; diff --git a/deps/sysobj_early/src/util_ids.c b/deps/sysobj_early/src/util_ids.c index 197b1ed3..9546a8b7 100644 --- a/deps/sysobj_early/src/util_ids.c +++ b/deps/sysobj_early/src/util_ids.c @@ -243,7 +243,7 @@ GSList *ids_file_all_get_all(const gchar *file, split_loc_function split_loc_fun      ids_query_result *working = g_new0(ids_query_result, 1);      gchar **qparts = g_new0(gchar*, IDS_LOOKUP_MAX_DEPTH + 1);      for(tabs = IDS_LOOKUP_MAX_DEPTH-1; tabs>=0; tabs--) -        qparts[tabs] = g_malloc0(IDS_LOOKUP_BUFF_SIZE); +        qparts[tabs] = g_malloc0(IDS_LOOKUP_BUFF_SIZE+1);      tabs = 0;      if (!split_loc_func) split_loc_func = split_loc_default; @@ -290,7 +290,7 @@ GSList *ids_file_all_get_all(const gchar *file, split_loc_function split_loc_fun          // now  p = id, name = name          // ids_msg("p: %s -- name: %s", p, name); -        strncpy(qparts[tabs], p, IDS_LOOKUP_BUFF_SIZE-1); +        strncpy(qparts[tabs], p, IDS_LOOKUP_BUFF_SIZE);          ids_query_result_set_str(working, tabs, name);          if (tabs < tabs_last)              for(;tabs_last > tabs; tabs_last--) { | 
