diff --git a/app/flatpak-builtins-utils.c b/app/flatpak-builtins-utils.c index 02b8659c8..6bc5adebb 100644 --- a/app/flatpak-builtins-utils.c +++ b/app/flatpak-builtins-utils.c @@ -967,3 +967,25 @@ format_timestamp (guint64 timestamp) return str; } + +char * +ellipsize_string (const char *text, int len) +{ + char *ret = g_strdup (text); + char *p; + int i; + + if (g_utf8_strlen (ret, -1) > len) + { + p = ret; + for (i = 0; i < len - 3; i++) + p = g_utf8_next_char (p); + + p[0] = '.'; + p[1] = '.'; + p[2] = '.'; + p[3] = '\0'; + } + + return ret; +} diff --git a/app/flatpak-builtins-utils.h b/app/flatpak-builtins-utils.h index c6f074738..fd3b521f3 100644 --- a/app/flatpak-builtins-utils.h +++ b/app/flatpak-builtins-utils.h @@ -126,5 +126,6 @@ Column *handle_column_args (Column *all_columns, GError **error); char * format_timestamp (guint64 timestamp); +char * ellipsize_string (const char *text, int len); #endif /* __FLATPAK_BUILTINS_UTILS_H__ */