if (pref->flags & PREF_STRING) { char *tmp_str = str_escape(pref->defaultPref.stringVal); if (tmp_str) { prefEntry = PR_smprintf("user_pref(\"%s\", \"%s\");", pref->key, tmp_str); PR_Free(tmp_str); } } else if (pref->flags & PREF_INT) { prefEntry = PR_smprintf("user_pref(\"%s\", %ld);", pref->key, (long) pref->defaultPref.intVal); } else if (pref->flags & PREF_BOOL) { prefEntry = PR_smprintf("user_pref(\"%s\", %s);", pref->key, (pref->defaultPref.boolVal) ? "true" : "false"); } prefArray[i] = prefEntry; }
prefArray[i] = ToNewCString(NS_LITERAL_CSTRING("user_pref(\"") + nsDependentCString(pref->key) + NS_LITERAL_CSTRING("\", \"") + prefValue + NS_LITERAL_CSTRING("\");"));
pref_savePref(PLDHashTable *table, PLDHashEntryHdr *heh, PRUint32 i, void *arg){    char **prefArray = (char**) arg;    PrefHashEntry *pref = NS_STATIC_CAST(PrefHashEntry *, heh);    PR_ASSERT(pref);    if (!pref)        return PL_DHASH_NEXT;    if (PREF_HAS_USER_VALUE(pref) &&         pref_ValueChanged(pref->defaultPref,                           pref->userPref,                           (PrefType) PREF_TYPE(pref)))    {        char *prefEntry = nsnull;        if (pref->flags & PREF_STRING)        {            char *tmp_str = str_escape(pref->userPref.stringVal);            if (tmp_str)            {                prefEntry = PR_smprintf("user_pref(\"%s\", \"%s\");",                                        pref->key, tmp_str);                PR_Free(tmp_str);            }        }        else if (pref->flags & PREF_INT)        {            prefEntry = PR_smprintf("user_pref(\"%s\", %ld);", pref->key,                            (long) pref->userPref.intVal);        }        else if (pref->flags & PREF_BOOL)        {            prefEntry = PR_smprintf("user_pref(\"%s\", %s);", pref->key,                            (pref->userPref.boolVal) ? "true" : "false");        }        prefArray[i] = prefEntry;    }    else if (pref && PREF_IS_LOCKED(pref))    {        char *prefEntry = nsnull;        if (pref->flags & PREF_STRING)        {            char *tmp_str = str_escape(pref->defaultPref.stringVal);            if (tmp_str) {                prefEntry = PR_smprintf("user_pref(\"%s\", \"%s\");",                                        pref->key, tmp_str);                PR_Free(tmp_str);            }        }        else if (pref->flags & PREF_INT)        {            prefEntry = PR_smprintf("user_pref(\"%s\", %ld);", pref->key,                            (long) pref->defaultPref.intVal);        }        else if (pref->flags & PREF_BOOL)        {            prefEntry = PR_smprintf("user_pref(\"%s\", %s);", pref->key,                (pref->defaultPref.boolVal) ? "true" : "false");        }        prefArray[i] = prefEntry;    }    return PL_DHASH_NEXT;}