MCPcopy Index your code
hub / github.com/MapServer/MapServer / msUpdateClassFromString

Function msUpdateClassFromString

mapfile.c:3234–3281  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3232}
3233
3234int msUpdateClassFromString(classObj *class, char *string, int url_string)
3235{
3236 int k;
3237 if(!class || !string) return MS_FAILURE;
3238
3239 msAcquireLock( TLOCK_PARSER );
3240
3241 if(url_string)
3242 msyystate = MS_TOKENIZE_URL_STRING;
3243 else
3244 msyystate = MS_TOKENIZE_STRING;
3245 msyystring = string;
3246 msyylex(); /* sets things up, but doesn't process any tokens */
3247
3248 msyylineno = 1; /* start at line 1 */
3249
3250 if(loadClass(class, class->layer) == -1) {
3251 msReleaseLock( TLOCK_PARSER );
3252 return MS_FAILURE; /* parse error */;
3253 }
3254 msReleaseLock( TLOCK_PARSER );
3255
3256 msyylex_destroy();
3257
3258 /* step through styles and labels to resolve symbol names */
3259 /* class styles */
3260 for(k=0; k<class->numstyles; k++) {
3261 if(class->styles[k]->symbolname) {
3262 if((class->styles[k]->symbol = msGetSymbolIndex(&(class->layer->map->symbolset), class->styles[k]->symbolname, MS_TRUE)) == -1) {
3263 msSetError(MS_MISCERR, "Undefined symbol \"%s\" in class, style %d of layer %s.", "msUpdateClassFromString()", class->styles[k]->symbolname, k, class->layer->name);
3264 return MS_FAILURE;
3265 }
3266 }
3267 }
3268
3269 /* label styles */
3270 for(k=0; k<class->label.numstyles; k++) {
3271 if(class->label.styles[k]->symbolname) {
3272 if((class->label.styles[k]->symbol = msGetSymbolIndex(&(class->layer->map->symbolset), class->label.styles[k]->symbolname, MS_TRUE)) == -1) {
3273 msSetError(MS_MISCERR, "Undefined symbol \"%s\" in class, label style %d of layer %s.",
3274 "msUpdateClassFromString()", class->label.styles[k]->symbolname, k, class->layer->name);
3275 return MS_FAILURE;
3276 }
3277 }
3278 }
3279
3280 return MS_SUCCESS;
3281}
3282
3283static void writeClass(FILE *stream, int indent, classObj *class)
3284{

Callers 3

msUpdateMapFromURLFunction · 0.85
msLayerGetFeatureStyleFunction · 0.85

Calls 6

msAcquireLockFunction · 0.85
loadClassFunction · 0.85
msReleaseLockFunction · 0.85
msyylex_destroyFunction · 0.85
msGetSymbolIndexFunction · 0.85
msSetErrorFunction · 0.85

Tested by

no test coverage detected