** Initialize, load and free a single class */
| 2804 | ** Initialize, load and free a single class |
| 2805 | */ |
| 2806 | int initClass(classObj *class) |
| 2807 | { |
| 2808 | /* printf("Init class at %p\n", class); */ |
| 2809 | |
| 2810 | class->status = MS_ON; |
| 2811 | class->debug = MS_OFF; |
| 2812 | MS_REFCNT_INIT(class); |
| 2813 | |
| 2814 | initExpression(&(class->expression)); |
| 2815 | class->name = NULL; |
| 2816 | class->title = NULL; |
| 2817 | initExpression(&(class->text)); |
| 2818 | |
| 2819 | initLabel(&(class->label)); |
| 2820 | class->label.size = -1; /* no default */ |
| 2821 | |
| 2822 | class->template = NULL; |
| 2823 | |
| 2824 | class->type = -1; |
| 2825 | |
| 2826 | initHashTable(&(class->metadata)); |
| 2827 | initHashTable(&(class->validation)); |
| 2828 | |
| 2829 | class->maxscaledenom = class->minscaledenom = -1.0; |
| 2830 | class->minfeaturesize = -1; /* no limit */ |
| 2831 | |
| 2832 | /* Set maxstyles = 0, styles[] will be allocated as needed on first call |
| 2833 | * to msGrowClassStyles() |
| 2834 | */ |
| 2835 | class->numstyles = class->maxstyles = 0; |
| 2836 | class->styles = NULL; |
| 2837 | |
| 2838 | class->keyimage = NULL; |
| 2839 | |
| 2840 | class->group = NULL; |
| 2841 | |
| 2842 | return(0); |
| 2843 | } |
| 2844 | |
| 2845 | int freeClass(classObj *class) |
| 2846 | { |
no test coverage detected