Changeset 8222 for trunk/ippdb/src/ippdb.c
- Timestamp:
- Aug 7, 2006, 2:25:35 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/ippdb/src/ippdb.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippdb/src/ippdb.c
r8214 r8222 183 183 PS_ASSERT_PTR_NON_NULL(mdname, false); 184 184 185 psMetadata *output = psMetadataAlloc(); 186 for (long i = 0; i < psArrayLength(mds); i++) { 187 psMetadata *md = psMetadataCopy(NULL, mds->data[i]); 188 // don't bother to check the return status as the key we are trying to 189 // remove may or may not be there 190 // XXX someday psErr should be checked -- the only acceptable error 191 // is key not found 192 193 psMetadataRemoveKey(md, IPPDB_DEFAULT_INDEX_NAME); 194 if (!psMetadataAddMetadata(output, PS_LIST_TAIL, mdname, PS_META_DUPLICATE_OK, NULL, md)) { 195 psError(PS_ERR_UNKNOWN, false, "failed to add a metadata item"); 196 psFree(md); 197 psFree(output); 198 return false; 199 } 200 201 psFree(md); 202 } 203 204 if (!ippdbPrintMetadata(stream, output, mdcf)) { 205 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 206 psFree(output); 207 return false; 208 } 209 210 psFree(output); 211 212 return true; 213 } 214 215 bool ippdbPrintMetadatasRaw(FILE *stream, psArray *mds, const char *mdname, bool mdcf) 216 { 217 PS_ASSERT_PTR_NON_NULL(mds, false); 218 PS_ASSERT_PTR_NON_NULL(mdname, false); 219 220 psMetadata *output = psMetadataAlloc(); 185 221 for (long i = 0; i < psArrayLength(mds); i++) { 186 222 psMetadata *md = mds->data[i]; 187 if (!ippdbPrintMetadata(stream, md, mdcf)) { 188 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 223 if (!psMetadataAddMetadata(output, PS_LIST_TAIL, mdname, PS_META_DUPLICATE_OK, NULL, md)) { 224 psError(PS_ERR_UNKNOWN, false, "failed to add a metadata item"); 225 psFree(output); 189 226 return false; 190 227 } 191 228 } 192 229 193 return true; 194 } 195 196 bool ippdbPrintMetadatasRaw(FILE *stream, psArray *mds, const char *mdname, bool mdcf) 197 { 198 PS_ASSERT_PTR_NON_NULL(mds, false); 199 PS_ASSERT_PTR_NON_NULL(mdname, false); 200 201 for (long i = 0; i < psArrayLength(mds); i++) { 202 psMetadata *md = mds->data[i]; 203 if (!ippdbPrintMetadataRaw(stream, md, mdcf)) { 204 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 205 return false; 206 } 207 } 230 if (!ippdbPrintMetadataRaw(stream, output, mdcf)) { 231 psError(PS_ERR_UNKNOWN, false, "failed to print metadata"); 232 psFree(output); 233 return false; 234 } 235 236 psFree(output); 208 237 209 238 return true;
Note:
See TracChangeset
for help on using the changeset viewer.
