if (PL_strcasecmp(VCGroupingProp,s) && !inList(fields_,s))
if (nsCRT::strcasecmp(VCGroupingProp,s) && !inList(fields_,s))
static void writeProp(OFile *fp, VObject *o){	int length = -1;    if (NAME_OF(o)) {	struct PreDefProp *pi;	VObjectIterator t;	const char **fields_ = 0;	pi = lookupPropInfo(NAME_OF(o));	if (pi && ((pi->flags & PD_BEGIN) != 0)) {	    writeVObject_(fp,o);	    return;	    }	if (isAPropertyOf(o,VCGroupingProp))	    writeGroup(fp,o);	else 	    appendsOFile(fp,NAME_OF(o));	if (pi) fields_ = pi->fields;	initPropIterator(&t,o);	while (moreIteration(&t)) {	    const char *s;	    VObject *eachProp = nextVObject(&t);	    s = NAME_OF(eachProp);	    if (PL_strcasecmp(VCGroupingProp,s) && !inList(fields_,s))		writeAttrValue(fp,eachProp, &length);	    }	if (fields_) {	    int i = 0, n = 0;	    const char** fields = fields_;	    /* output prop as fields */	    appendcOFile(fp,':');	    while (*fields) {		VObject *t0 = isAPropertyOf(o,*fields);		i++;		if (t0) n = i;		fields++;		}	    fields = fields_;	    for (i=0;i<n;i++) {		writeValue(fp,isAPropertyOf(o,*fields),0);		fields++;		if (i<(n-1)) appendcOFile(fp,';');		}	    }	}	    if (VALUE_TYPE(o)) {	unsigned long size = 0;        VObject *p = isAPropertyOf(o,VCDataSizeProp);	if (p) size = LONG_VALUE_OF(p);	appendcOFile(fp,':');	writeValue(fp,o,size);	}    appendcOFile(fp,'\n');}