Index: /trunk/ppConfigDump/src/ppConfigDump.c
===================================================================
--- /trunk/ppConfigDump/src/ppConfigDump.c	(revision 31902)
+++ /trunk/ppConfigDump/src/ppConfigDump.c	(revision 31903)
@@ -101,4 +101,7 @@
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump-format", 0, "Filename for camera format", NULL);
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump-recipes", 0, "Filename for recipes", NULL);
+
+    psMetadataAddStr(arguments, PS_LIST_TAIL, "-get-key", PS_META_DUPLICATE_OK, "Key to return", NULL);
+
     psMetadata *recipeArgs = psMetadataAlloc(); // Options for dumping a single recipe
     psMetadataAddStr(recipeArgs, PS_LIST_TAIL, "recipe", 0, "Name of recipe", NULL);
@@ -112,4 +115,5 @@
         fprintf(stderr, "       [-dump-camera FILE.mdc] [-dump-format FILE.mdc] [-dump-recipes FILE.mdc]\n");
         fprintf(stderr, "       [-dump-recipe RECIPE FILE.mdc]\n");
+        fprintf(stderr, "       [-get-key KEY]\n");
         fprintf(stderr, "\n");
         fprintf(stderr, "       FILE.mdc may be \"-\", in which case the file is written to stdout.\n");
@@ -191,5 +195,20 @@
     }
 
+    // parse the -get-key stuff:
+    psMetadataItem *item = psMetadataLookup(arguments, "-get-key");
+    psAssert (item->type == PS_DATA_METADATA_MULTI, "created above with this type");
+    psListIterator *iter = psListIteratorAlloc(item->data.list, 0, false);
+    psMetadataItem *mItem = NULL;
+    while ((mItem = psListGetAndIncrement(iter))) {
+	char *getKey = mItem->data.str;
+	if (!getKey) continue;
+	psMetadataItem *keyItem = psMetadataLookup (config->camera, getKey);
+	if (!keyItem) continue;
+	psString str = psMetadataItemFormat(keyItem);
+	fprintf (stdout, "%s", str);
+	psFree (str);
+    }
+    psFree(iter);
+	
     die(PS_EXIT_SUCCESS);
 }
-
