From: Victor Julien Date: Wed, 27 Dec 2023 16:01:18 +0000 (+0100) Subject: app-layer: micro optimization for AppProtoEquals X-Git-Tag: suricata-8.0.0-beta1~1864 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd4ca53eb7110a2ab0f24d08902d5c2a04f00a8c;p=thirdparty%2Fsuricata.git app-layer: micro optimization for AppProtoEquals Add most common condition first. --- diff --git a/src/app-layer-protos.h b/src/app-layer-protos.h index dd372550cb..e2efbec4d4 100644 --- a/src/app-layer-protos.h +++ b/src/app-layer-protos.h @@ -87,14 +87,16 @@ static inline bool AppProtoIsValid(AppProto a) // whether a signature AppProto matches a flow (or signature) AppProto static inline bool AppProtoEquals(AppProto sigproto, AppProto alproto) { + if (sigproto == alproto) { + return true; + } switch (sigproto) { case ALPROTO_HTTP: - return (alproto == ALPROTO_HTTP1) || (alproto == ALPROTO_HTTP2) || - (alproto == ALPROTO_HTTP); + return (alproto == ALPROTO_HTTP1) || (alproto == ALPROTO_HTTP2); case ALPROTO_DCERPC: - return (alproto == ALPROTO_DCERPC || alproto == ALPROTO_SMB); + return (alproto == ALPROTO_SMB); } - return (sigproto == alproto); + return false; } /**