Changeset 23244 for trunk/psModules/src/config
- Timestamp:
- Mar 10, 2009, 12:29:41 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/config/pmConfigRun.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/config/pmConfigRun.c
r23243 r23244 4 4 5 5 #include <stdio.h> 6 #include <string.h> 6 7 #include <pslib.h> 7 8 … … 25 26 elem = psMetadataAlloc(); 26 27 psMetadataAddMetadata(md, PS_LIST_HEAD, name, 0, comment, elem); 28 psFree(elem); // Drop reference 27 29 } 28 30 return elem; … … 48 50 psAssert(files, "Require list of files"); 49 51 50 return psMetadataAddStr(files, PS_LIST_TAIL, file->name, PS_META_DUPLICATE_OK, NULL, file->filename); 52 const char *name = file->name; // Name of symbolic file 53 const char *value = file->filename; // Value of symbolic file: the file name 54 55 psString regex = NULL; // Regular expression for iteration 56 psStringAppend(®ex, "^%s$", name); 57 psMetadataIterator *iter = psMetadataIteratorAlloc(files, PS_LIST_HEAD, regex); 58 psFree(regex); 59 psMetadataItem *item; // Item from iteration 60 while ((item = psMetadataGetAndIncrement(iter))) { 61 psAssert(item->type == PS_DATA_STRING, "We only put STRING types here."); 62 if (strcmp(item->data.str, value) == 0) { 63 // It's already present 64 psFree(iter); 65 return true; 66 } 67 } 68 psFree(iter); 69 70 return psMetadataAddStr(files, PS_LIST_TAIL, name, PS_META_DUPLICATE_OK, NULL, value); 51 71 } 52 72
Note:
See TracChangeset
for help on using the changeset viewer.
