Changeset 29925 for trunk/ppConfigDump/src/ppConfigDump.c
- Timestamp:
- Dec 5, 2010, 9:19:22 PM (15 years ago)
- File:
-
- 1 edited
-
trunk/ppConfigDump/src/ppConfigDump.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppConfigDump/src/ppConfigDump.c
r24187 r29925 26 26 void dump(const char *filename, // Filename to which to dump 27 27 const char *description, // Description of what's being dumped 28 psMetadata *md // Metadata to dump 29 ) 28 psMetadata *md, // Metadata to dump 29 const char *compressMode 30 ) 30 31 { 31 32 if (!filename || strlen(filename) == 0) { … … 38 39 die(PS_EXIT_SYS_ERROR); 39 40 } 40 fprintf(stdout, "%s", string); 41 42 if (compressMode) { 43 if (strlen(compressMode) > 2) { 44 psErrorStackPrint(stderr, "invalid compression options %s!\n", compressMode); 45 die(PS_EXIT_CONFIG_ERROR); 46 } 47 char modeString[4]; 48 snprintf (modeString, 4, "w%s", compressMode); 49 50 gzFile file = gzdopen (STDOUT_FILENO, modeString); 51 if (file == Z_NULL) { 52 psErrorStackPrint(stderr, "Failed to open file\n"); 53 die(PS_EXIT_SYS_ERROR); 54 } 55 int nbytes = gzwrite (file, string, strlen(string)); 56 if (nbytes != strlen(string)) { 57 psErrorStackPrint(stderr, "Failed to write contents of configuration file %s", filename); 58 psFree(string); 59 gzclose(file); 60 die(PS_EXIT_SYS_ERROR); 61 } 62 psFree(string); 63 if (gzclose(file) != Z_OK) { 64 psErrorStackPrint(stderr, "Failed to close file, %s\n", filename); 65 die(PS_EXIT_SYS_ERROR); 66 } 67 } else { 68 fprintf(stdout, "%s", string); 69 } 41 70 psFree(string); 42 } else if (!psMetadataConfigWrite(md, filename)) { 43 psErrorStackPrint(stderr, "Can't write %s to %s\n", description, filename); 44 die(PS_EXIT_SYS_ERROR); 71 } else { 72 if (!psMetadataConfigWrite(md, filename, compressMode)) { 73 psErrorStackPrint(stderr, "Can't write %s to %s\n", description, filename); 74 die(PS_EXIT_SYS_ERROR); 75 } 45 76 } 46 77 } … … 62 93 arguments = psMetadataAlloc(); 63 94 psMetadataAddStr(arguments, PS_LIST_TAIL, "-file", 0, "FITS file to use for camera determination", NULL); 95 psMetadataAddStr(arguments, PS_LIST_TAIL, "-compress", 0, "output compression mode", NULL); 96 psMetadataAddBool(arguments, PS_LIST_TAIL, "-z", 0, "default compression", false); 64 97 psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump-user", 0, "Filename for user configuration", NULL); 65 98 psMetadataAddStr(arguments, PS_LIST_TAIL, "-dump-site", 0, "Filename for site configuration", NULL); … … 84 117 psArgumentHelp(arguments); 85 118 die(PS_EXIT_CONFIG_ERROR); 119 } 120 121 const char *defaultCompressMode = "7f"; 122 const char *compressMode = psMetadataLookupStr(NULL, arguments, "-compress"); // compression 123 bool defaultCompression = psMetadataLookupBool(NULL, arguments, "-z"); // compression? 124 if (!compressMode && defaultCompression) { 125 compressMode = defaultCompressMode; 86 126 } 87 127 … … 122 162 123 163 const char *userName = psMetadataLookupStr(NULL, arguments, "-dump-user"); // User filename 124 dump(userName, "user configuration", config->user );164 dump(userName, "user configuration", config->user, compressMode); 125 165 126 166 const char *siteName = psMetadataLookupStr(NULL, arguments, "-dump-site"); // Site filename 127 dump(siteName, "site configuration", config->site );167 dump(siteName, "site configuration", config->site, compressMode); 128 168 129 169 const char *systemName = psMetadataLookupStr(NULL, arguments, "-dump-system"); // System filename 130 dump(systemName, "system configuration", config->system );170 dump(systemName, "system configuration", config->system, compressMode); 131 171 132 172 const char *camName = psMetadataLookupStr(NULL, arguments, "-dump-camera"); // Camera filename 133 dump(camName, "camera configuration", config->camera );173 dump(camName, "camera configuration", config->camera, compressMode); 134 174 135 175 const char *formatName = psMetadataLookupStr(NULL, arguments, "-dump-format"); // Format filename 136 dump(formatName, "camera format", config->format );176 dump(formatName, "camera format", config->format, compressMode); 137 177 138 178 const char *recipesName = psMetadataLookupStr(NULL, arguments, "-dump-recipes"); // Recipes filename 139 dump(recipesName, "recipes", config->recipes );179 dump(recipesName, "recipes", config->recipes, compressMode); 140 180 141 181 recipeArgs = psMetadataLookupMetadata(NULL, arguments, "-dump-recipe"); … … 148 188 } 149 189 const char *recipeFile = psMetadataLookupStr(NULL, recipeArgs, "filename"); // Filename for recipe 150 dump(recipeFile, "recipe", recipe );190 dump(recipeFile, "recipe", recipe, compressMode); 151 191 } 152 192
Note:
See TracChangeset
for help on using the changeset viewer.
