~midori/midori/trunk

« back to all changes in this revision

Viewing changes to extensions/formhistory/formhistory.c

  • Committer: Christian Dywan
  • Date: 2013-09-17 22:02:12 UTC
  • mto: This revision was merged to the branch mainline in revision 6405.
  • Revision ID: christian.dywan@canonical.com-20130917220212-4w2b10bxo9k58kav
Use Midori.Database in formhistory extension

Show diffs side-by-side

added added

removed removed

Lines of Context:
489
489
formhistory_new (const gchar* config_dir)
490
490
{
491
491
    gchar* filename;
492
 
    sqlite3* db;
493
 
    char* errmsg = NULL, *errmsg2 = NULL;
 
492
    GError* error = NULL;
494
493
    FormHistoryPriv* priv = formhistory_private_new ();
495
494
    priv->master_password = NULL;
496
495
    priv->master_password_canceled = 0;
497
496
    formhistory_construct_popup_gui (priv);
498
497
 
499
498
    filename = g_build_filename (config_dir, "forms.db", NULL);
500
 
    if (sqlite3_open (filename, &db) != SQLITE_OK)
501
 
    {
502
 
        g_warning (_("Failed to open database: %s\n"), sqlite3_errmsg (db));
503
 
        sqlite3_close (db);
504
 
    }
 
499
    priv->database = midori_database_new (filename, &error);
505
500
    g_free (filename);
506
 
    if ((sqlite3_exec (db, "CREATE TABLE IF NOT EXISTS "
507
 
                           "forms (domain text, field text, value text)",
508
 
                           NULL, NULL, &errmsg) == SQLITE_OK))
509
 
    {
510
 
        sqlite3_exec (db,
511
 
            /* "PRAGMA synchronous = OFF; PRAGMA temp_store = MEMORY" */
512
 
            "PRAGMA count_changes = OFF; PRAGMA journal_mode = TRUNCATE;",
513
 
            NULL, NULL, &errmsg);
514
 
        priv->db = db;
515
 
    }
516
 
    else
517
 
    {
518
 
        if (errmsg)
519
 
        {
520
 
            g_critical (_("Failed to execute database statement: %s\n"), errmsg);
521
 
            sqlite3_free (errmsg);
522
 
            if (errmsg2)
523
 
            {
524
 
                g_critical (_("Failed to execute database statement: %s\n"), errmsg2);
525
 
                sqlite3_free (errmsg2);
526
 
            }
527
 
        }
528
 
        sqlite3_close (db);
529
 
    }
 
501
    if (error != NULL)
 
502
    {
 
503
        g_critical ("%s", error->message);
 
504
        g_error_free (error);
 
505
        priv->db = NULL;
 
506
        return priv;
 
507
    }
 
508
 
 
509
    priv->db = midori_database_get_db (MIDORI_DATABASE (priv->database));
 
510
    g_warn_if_fail (priv->db != NULL);
530
511
    return priv;
531
512
}
532
513