free(otherbuf);
sfree(otherbuf);
char *enum_settings_next(void *handle, char *buffer, int buflen) {    struct enumsettings *e = (struct enumsettings *)handle;    char *otherbuf;    otherbuf = malloc(3*buflen);    if (otherbuf && RegEnumKey(e->key, e->i++, otherbuf,                               3*buflen) == ERROR_SUCCESS) {        unmungestr(otherbuf, buffer, buflen);        free(otherbuf);        return buffer;    } else        return NULL;}