int main(int argc, char *argv[]) { if(argc < 4) { puts("transpress [dir] [infmt] [outfmt]"); return 1; } printf("transpress: %s %s -> %s\n", argv[1], argv[2], argv[3]); return dir_load(argv[1], argv[2], argv[3]); }
int wd_load(XFILE *file) { int error; if ((error = dir_load(file)) < 0) return error; if ((error = txt_load(file)) < 0) return error; if ((error = edit_load(file)) < 0) return error; if ((error = load_windows(file)) < 0) return error; return 0; }
Dir* cache_lookup (Cache *cache, const gchar *key, gboolean create_if_missing, GError **err) { Dir* dir; g_assert(key != NULL); g_return_val_if_fail(cache != NULL, NULL); /* Check cache */ dir = g_hash_table_lookup(cache->cache, key); if (dir != NULL) { gconf_log(GCL_DEBUG, "Using dir %s from cache", key); return dir; } else { /* Not in cache, check whether we already failed to load it */ if (cache_is_nonexistent(cache, key)) { if (!create_if_missing) return NULL; } else { /* Didn't already fail to load, try to load */ dir = dir_load (key, cache->root_dir, err); if (dir != NULL) { g_assert(err == NULL || *err == NULL); /* Cache it and add to parent */ cache_insert (cache, dir); cache_add_to_parent (cache, dir); return dir; } else { /* Remember that we failed to load it */ if (!create_if_missing) { cache_set_nonexistent(cache, key, TRUE); return NULL; } else { if (err && *err) { g_error_free(*err); *err = NULL; } } } } } g_assert(dir == NULL); g_assert(create_if_missing); g_assert(err == NULL || *err == NULL); if (dir == NULL) { gconf_log(GCL_DEBUG, "Creating new dir %s", key); dir = dir_new(key, cache->root_dir, cache->dir_mode, cache->file_mode); if (!dir_ensure_exists(dir, err)) { dir_destroy(dir); g_return_val_if_fail((err == NULL) || (*err != NULL) , NULL); return NULL; } else { cache_insert (cache, dir); cache_add_to_parent (cache, dir); cache_unset_nonexistent (cache, dir_get_name (dir)); } } return dir; }