-, - (untested):
gunichar c;
int len, old_len;
char buf[6];
c = g_utf8_get_char(s);
old_len = g_unichar_to_utf8(c, NULL);
c += 1;
len = g_unichar_to_utf8(c, buf);
if (len == old_len) {
memcpy(s, buf, len);
} else {
/* something more complex adjusting s length */
}
, . g_utf8_next_char(), old_len , , old_len.