+ gchar *ifiction;
+ if(len) {
+ printf("Metadata found in file.\n");
+ gchar *buffer = malloc(len * sizeof(gchar));
+ babel_treaty(GET_STORY_FILE_METADATA_SEL, buffer, len);
+ ifiction = g_strndup(buffer, len);
+ g_free(buffer);
+ } else {
+ printf("No metadata found in file, performing IFDB lookup.\n");
+ gchar *ifid = malloc(TREATY_MINIMUM_EXTENT * sizeof(gchar));
+ if( !babel_treaty(GET_STORY_FILE_IFID_SEL, ifid, TREATY_MINIMUM_EXTENT) ) {
+ fprintf(stderr, "Unable to create an IFID (A serious problem occurred while loading the file).\n");
+ babel_release();
+ return 1;
+ }
+ printf("Looking up IFID: %s.\n", ifid);