diff options
| author | Burt P <pburt0@gmail.com> | 2017-07-17 16:12:54 -0500 | 
|---|---|---|
| committer | Leandro Pereira <leandro@hardinfo.org> | 2017-07-19 07:20:40 -0700 | 
| commit | ec70103197da13839869cd73da8b5af54f5a8212 (patch) | |
| tree | 38da28d08c5b8ff44b82d6681c3a6bbaf5d291c4 /modules | |
| parent | 861b1e8c1fa0fde18ce34f964e024c1cd0c10891 (diff) | |
device tree: complete hardinfo_clean_value() html escaping
Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/devices/devicetree.c | 20 | 
1 files changed, 18 insertions, 2 deletions
| diff --git a/modules/devices/devicetree.c b/modules/devices/devicetree.c index e382da45..9aa31b51 100644 --- a/modules/devices/devicetree.c +++ b/modules/devices/devicetree.c @@ -81,12 +81,28 @@ gchar *hardinfo_clean_label(const gchar *v, int replacing) {      return clean;  } +/* hardinfo uses the values as {ht,x}ml, apparently */  gchar *hardinfo_clean_value(const gchar *v, int replacing) { -    gchar *clean; +    gchar *clean, *tmp; +    gchar **vl;      if (v == NULL) return NULL; -    gchar **vl = g_strsplit(v, "&", -1); + +    vl = g_strsplit(v, "&", -1);      clean = g_strjoinv("&", vl);      g_strfreev(vl); + +    vl = g_strsplit(clean, "<", -1); +    tmp = g_strjoinv("<", vl); +    g_strfreev(vl); +    g_free(clean); +    clean = tmp; + +    vl = g_strsplit(clean, ">", -1); +    tmp = g_strjoinv(">", vl); +    g_strfreev(vl); +    g_free(clean); +    clean = tmp; +      if (replacing)          g_free((gpointer)v);      return clean; | 
