From 366f556e5b80ee44edb575f51b48dde09874fad8 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko <adam.ierymenko@gmail.com> Date: Mon, 8 Jul 2013 20:05:29 -0400 Subject: Filter work --- node/Filter.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'node') diff --git a/node/Filter.cpp b/node/Filter.cpp index 1f81a360..5cd295c3 100644 --- a/node/Filter.cpp +++ b/node/Filter.cpp @@ -167,21 +167,27 @@ std::string Filter::toString(const char *sep) const s.push_back('['); if (i->rule.etherType()) { - sprintf(buf,"%u-%u",i->rule.etherType().start,i->rule.etherType().end); + if (i->rule.etherType().magnitude() > 1) + sprintf(buf,"%u-%u",i->rule.etherType().start,i->rule.etherType().end); + else sprintf(buf,"%u",i->rule.etherType().start); s.append(buf); } else s.push_back('*'); s.push_back(';'); if (i->rule.protocol()) { - sprintf(buf,"%u-%u",i->rule.protocol().start,i->rule.protocol().end); + if (i->rule.protocol().magnitude() > 1) + sprintf(buf,"%u-%u",i->rule.protocol().start,i->rule.protocol().end); + else sprintf(buf,"%u",i->rule.protocol().start); s.append(buf); } else s.push_back('*'); s.push_back(';'); if (i->rule.port()) { - sprintf(buf,"%u-%u",i->rule.port().start,i->rule.port().end); + if (i->rule.port().magnitude() > 1) + sprintf(buf,"%u-%u",i->rule.port().start,i->rule.port().end); + else sprintf(buf,"%u",i->rule.port().start); s.append(buf); } else s.push_back('*'); -- cgit v1.2.3