From: Peter H. <pet...@co...> - 2004-12-10 14:28:51
|
I realize that edb files may be superseded for configurations, but ITMT, I patched edb_ed so at least it would print out values when looking at a .db file. It works for me, anyway. Hope this helps others. --- edb_ed.c.orig 2004-04-28 21:32:06.000000000 -0400 +++ edb_ed.c 2004-12-10 09:23:32.000000000 -0500 @@ -439,7 +439,7 @@ else if (match) { char **keys; - int keys_num, j = 0; + int keys_num, j = 0, data_size; /* need data size variable for data_get function */ db = e_db_open_read(dbfile); if (!db) @@ -451,7 +451,7 @@ printf("---------------------------------------------------------------\n"); printf("Keys in database %s matching '%s'\n", dbfile, key); printf("\n"); - printf("[ type ] key\n"); + printf("[ type ] key data\n"); /* change output format slightly for data field */ printf("---------------------------------------------------------------\n"); printf("\n"); qsort(keys, keys_num, sizeof(char *), sort_compare); @@ -461,17 +461,20 @@ char *t; type = e_db_type_get(db, keys[j]); + data = e_db_data_get(db, keys[i], &data_size); /* also get data when dumping file */ if (type) t = type; else t = "?"; - printf("[ %8s ] %s\n", t, keys[j]); + printf("[ %8s ] %s: %s\n", t, keys[i], data); /* also print out data */ if (type) free(type); + if (data) free(data); /* don't forget to clear data too */ } e_db_close(db); } else { char **keys; - int keys_num; + int keys_num, data_size; /* need data size variable for data_get function */ + db = e_db_open_read(dbfile); if (!db) @@ -483,7 +486,7 @@ printf("---------------------------------------------------------------\n"); printf("Keys in database: %s\n", dbfile); printf("\n"); - printf("[ type ] key\n"); + printf("[ type ] key data\n"); /* change output format slightly for data field */ printf("---------------------------------------------------------------\n"); printf("\n"); qsort(keys, keys_num, sizeof(char *), sort_compare); @@ -492,10 +495,12 @@ char *t; type = e_db_type_get(db, keys[i]); + data = e_db_data_get(db, keys[i], &data_size); /* also get data when dumping file */ if (type) t = type; else t = "?"; - printf("[ %8s ] %s\n", t, keys[i]); + printf("[ %8s ] %s: %s\n", t, keys[i], data); /* also print out data */ if (type) free(type); + if (data) free(data); /* don't forget to clear data too */ } e_db_close(db); } -- Peter |