if ((dports < pport) && (dporte > pport)) return 0;
if ((dports < pport) && (dporte > pport)) { return 0;
int matchesPortPattern(FieldType* dataType, FieldData* data, FieldType* patternType, FieldData* pattern) {	int i;	int j;		if ((dataType->length == 2) && (patternType->length == 2)) {		return ((data[0] == pattern[0]) && (data[1] == pattern[1]));		}	if ((dataType->length == 2) && ((patternType->length % 4) == 0)) {		int dport = (data[0] << 8) + data[1];		int foundMatch = 0;		for (j = 0; j < patternType->length; j+=4) {			int pports = (pattern[j+0] << 8) + pattern[j+1];			int pporte = (pattern[j+2] << 8) + pattern[j+3];			if ((dport >= pports) && (dport <= pporte)) {				foundMatch = 1;				break;				}			}		return foundMatch;		}	if (((dataType->length % 4) == 0) && (patternType->length == 2)) {		for (i = 0; i < dataType->length; i+=4) {			int dports = (data[i+0] << 8) + data[i+1];			int dporte = (data[i+2] << 8) + data[i+3];			int pport = (pattern[0] << 8) + pattern[1];			if ((dports < pport) && (dporte > pport)) return 0;			}		return 1;			}	if (((dataType->length % 4) == 0) && ((patternType->length % 4) == 0)) {		for (i = 0; i < dataType->length; i+=4) {			int dports = (data[i+0] << 8) + data[i+1];			int dporte = (data[i+2] << 8) + data[i+3];			int foundMatch = 0;			for (j = 0; j < patternType->length; j+=4) {				int pports = (pattern[j+0] << 8) + pattern[j+1];				int pporte = (pattern[j+2] << 8) + pattern[j+3];				if ((dports >= pports) && (dporte <= pporte)) {					foundMatch = 1;					break;					}				}			if (!foundMatch) return 0;				}		return 1;			}			fatalf("matching port of length %d with pattern of length %d not supported", 			dataType->length, patternType->length);	return 0;	}