FYI, here's the perl code to translate strcmp to strncmp...perhaps it only needs some other regex cases.
#!/usr/bin/perl -wT use strict; while (<STDIN>) { if (/(strcmp\()+/) { if (/\((\w+)\((\w*)(\W*)(\w*)(\W*)(\w*)(\W*)(\, )(\w*)(\W*)\)/) { print "if (std::strncmp($2$3$4$5$6$7$8$9$10, std::strlen($9$10)) == 0) {\n"; } } else { print; } } 1; 2011/6/26 Campbell Barton <ideasma...@gmail.com> > blenders strings are assumed to be zero terminated in many places so > using strncpy and strncmp are not especially making blenders code less > vulnerable to buffer overruns unless our own internal functions also > accept a string lengths. > > On Sun, Jun 26, 2011 at 5:14 PM, Sergey I. Sharybin <g.ula...@gmail.com> > wrote: > > Hi, > > > > I can't see how such kind of replacement would help us. And we can't use > > cstring dur to Blender is mostly written in C, not C++. > > > > Johan C. wrote: > >> Hi, > >> > >> It'd be best to rewrite the strcmp functions with strncmp and using > >> #include<cstring> instead of libc string.h . > >> > >> So strcmp(1,2) would become std::strncmp(1,2,std::strlen(2)); > >> > >> Love, > >> erana > >> > >> PS: You can patch it with a line of perl. > >> _______________________________________________ > >> Bf-committers mailing list > >> Bf-committers@blender.org > >> http://lists.blender.org/mailman/listinfo/bf-committers > >> > > > > > > -- > > With best regards, Sergey I. Sharybin > > > > _______________________________________________ > > Bf-committers mailing list > > Bf-committers@blender.org > > http://lists.blender.org/mailman/listinfo/bf-committers > > > > > > -- > - Campbell > _______________________________________________ > Bf-committers mailing list > Bf-committers@blender.org > http://lists.blender.org/mailman/listinfo/bf-committers > _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers