/* Returns: (transfer none): passed-in @string pointer, with all the uppercase characters converted to lowercase in place, with semantics that exactly match g_ascii_tolower().  */
GString* g_string_ascii_down(GString *string)
/* Returns: (transfer none): passed-in @string pointer, with all the uppercase characters converted to lowercase in place, with semantics that exactly match g_ascii_tolower().  */
GString* g_string_ascii_down(GString *string)
{
  gchar *s;
  gint n;
  g_return_val_if_fail (string != NULL, NULL);
  n = string->len;
  s = string->str;
  while (n)
    {
      *s = g_ascii_tolower (*s);
      s++;
      n--;
    }
  return string;
}