Changeset 18713 for trunk/psModules/src/config/pmConfigMask.c
- Timestamp:
- Jul 24, 2008, 12:38:14 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/config/pmConfigMask.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/config/pmConfigMask.c
r18651 r18713 138 138 } 139 139 140 // Remove from the header keywords starting with the provided string 141 static int maskRemoveHeader(psMetadata *header, // Header from which to remove keywords 142 const char *start // Remove keywords that start with this string 143 ) 144 { 145 psString regex = NULL; // Regular expression for keywords 146 psStringAppend(®ex, "^%s[0-9][0-9]", start); 147 psMetadataIterator *iter = psMetadataIteratorAlloc(header, PS_LIST_HEAD, regex); // Iterator 148 psFree(regex); 149 psMetadataItem *item; // Item from iteration 150 int num = 0; // Number of items removed 151 while ((item = psMetadataGetAndIncrement(iter))) { 152 psMetadataRemoveKey(header, item->name); 153 num++; 154 } 155 psFree(iter); 156 return num; 157 } 158 159 140 160 // write the named mask bits to the header 141 161 bool pmConfigMaskWriteHeader(const pmConfig *config, psMetadata *header) … … 143 163 PS_ASSERT_PTR_NON_NULL(config, false); 144 164 PS_ASSERT_METADATA_NON_NULL(header, false); 165 166 maskRemoveHeader(header, "MSKNAM"); 167 maskRemoveHeader(header, "MSKVAL"); 168 if (psMetadataLookup(header, "MSKNUM")) { 169 psMetadataRemoveKey(header, "MSKNUM"); 170 } 145 171 146 172 char namekey[80]; … … 168 194 } 169 195 170 snprintf (namekey, 64, "MSKNAM%02d", nMask);171 snprintf (valuekey, 64, "MSKVAL%02d", nMask);172 173 psMetadataAddStr (header, PS_LIST_TAIL, namekey, 0, "Bitmask bit name", item->name);174 psMetadataAddU8 (header, PS_LIST_TAIL, valuekey, 0, "Bitmask bit value", item->data.U8);175 nMask ++;176 } 177 178 psMetadataAddS32 (header, PS_LIST_TAIL, "MSKNUM", 0, "Bitmask bit count", nMask);196 snprintf(namekey, 64, "MSKNAM%02d", nMask); 197 snprintf(valuekey, 64, "MSKVAL%02d", nMask); 198 199 psMetadataAddStr(header, PS_LIST_TAIL, namekey, 0, "Bitmask bit name", item->name); 200 psMetadataAddU8(header, PS_LIST_TAIL, valuekey, 0, "Bitmask bit value", item->data.U8); 201 nMask++; 202 } 203 204 psMetadataAddS32(header, PS_LIST_TAIL, "MSKNUM", 0, "Bitmask bit count", nMask); 179 205 return true; 180 206 }
Note:
See TracChangeset
for help on using the changeset viewer.
