Snort mailing list archives
Re: [SNORT-DEVEL] modification to switch()/case in snprintf.c for NetVI
From: Joshua Kinard <kumba () gentoo org>
Date: Sun, 13 Apr 2014 16:20:17 -0400
On 04/13/2014 15:27, Bill Parker wrote:
Hello All,
In reviewing some code in NetVI, directory 'src', file 'snprintf.c'
I found a rather lengthy switch()/case workup consisting of the following:
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
Which could be written as:
case '1' ... '9':
since ASCII values for '1' thru '9' are in order in the ASCII
table. The patch file which modifies this is below:
--- snprintf.c.orig 2014-04-10 04:39:57.132977816 -0700
+++ snprintf.c 2014-04-10 04:40:45.194086136 -0700
@@ -174,15 +174,7 @@
case '-': ljust = 1; goto nextch;
case '0': /* set zero padding if len not set */
if(len==0 && !pointflag) zpad = '0';
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
+ case '1' ... '9':
if(pointflag)
maxwidth = maxwidth*10 + ch - '0';
else
Would this be of any use in NetVI and/or Snort/DAQ?
Bill Parker (wp02855 at gmail dot com)
I think this is more of a semantic/readability change than anything functional. The '...' syntax is also a non-standard C/C++ extension and not widely known about (I actually discovered it myself about a month or so ago). I don't know how many compilers actually support it. gcc introduced it, so I assume clang supports it, but older compilers might not (Sun Studio, MIPSPro, etc). icc? See: https://stackoverflow.com/a/5924692/ https://stackoverflow.com/a/5327975/ -- Joshua Kinard Gentoo/MIPS kumba () gentoo org 4096R/D25D95E3 2011-03-28 "The past tempts us, the present confuses us, the future frightens us. And our lives slip away, moment by moment, lost in that vast, terrible in-between." --Emperor Turhan, Centauri Republic ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees _______________________________________________ Snort-devel mailing list Snort-devel () lists sourceforge net https://lists.sourceforge.net/lists/listinfo/snort-devel Archive: http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel Please visit http://blog.snort.org for the latest news about Snort!
Current thread:
- [SNORT-DEVEL] modification to switch()/case in snprintf.c for NetVI Bill Parker (Apr 13)
- Re: [SNORT-DEVEL] modification to switch()/case in snprintf.c for NetVI Joshua Kinard (Apr 13)
- Re: [SNORT-DEVEL] modification to switch()/case in snprintf.c for NetVI Joel Esler (jesler) (Apr 13)
- Re: [SNORT-DEVEL] modification to switch()/case in snprintf.c for NetVI Joshua Kinard (Apr 14)
- Re: [SNORT-DEVEL] modification to switch()/case in snprintf.c for NetVI Joel Esler (jesler) (Apr 13)
- Re: [SNORT-DEVEL] modification to switch()/case in snprintf.c for NetVI Russ Combs (rucombs) (Apr 14)
- Re: [SNORT-DEVEL] modification to switch()/case in snprintf.c for NetVI Joshua Kinard (Apr 13)
