clanlib memset bugs.
Gilboa Davara
gilboad at gmail.com
Sat Mar 8 09:06:00 UTC 2008
On Sat, 2008-03-08 at 10:57 +0200, Gilboa Davara wrote:
> On Fri, 2008-03-07 at 21:02 -0500, Dave Jones wrote:
> > Hans,
> > 0.8 of clanlib has swapped arguments to memset resulting in them
> > becoming no-ops. The patch below fixes this. We don't need to
> > push this upstream, because 0.9 seems to remove the affected file
> > altogether, so when we rebase after its release we get to just throw
> > the diff away. In the meantime, we should probably add this:
> >
> > Dave
> >
> > --
> > http://www.codemonkey.org.uk
> >
> > --- ClanLib-0.8.0/Sources/Core/System/Generic/clanstring.cpp~ 2008-03-07 20:23:48.000000000 -0500
> > +++ ClanLib-0.8.0/Sources/Core/System/Generic/clanstring.cpp 2008-03-07 20:25:20.000000000 -0500
> > @@ -87,7 +87,7 @@ void CL_String::arg(std::string &format,
> > char number[10];
> > std::string num_string = "%";
> >
> > - memset(number, 10, 0);
> > + memset(number, 0, 10);
> > snprintf(number, 10, "%d", num);
> >
> > num_string += number;
> > @@ -112,7 +112,7 @@ void CL_String::arg(std::string &format,
> > {
> > char arg[10];
> >
> > - memset(arg, 10, 0);
> > + memset(arg, 0, 10);
> > snprintf(arg, 10, "%d", number);
> >
> > CL_String::arg(format, arg, num);
> > @@ -122,7 +122,7 @@ void CL_String::arg(std::string &format,
> > {
> > char arg[32];
> >
> > - memset(arg, 32, 0);
> > + memset(arg, 0, 32);
> > snprintf(arg, 32, "%f", number);
> >
> > CL_String::arg(format, arg, num);
> > @@ -132,7 +132,7 @@ void CL_String::arg(std::string &format,
> > {
> > char arg[32];
> >
> > - memset(arg, 32, 0);
> > + memset(arg, 0, 32);
> > snprintf(arg, 32, "%#f", number);
> >
> > CL_String::arg(format, arg, num);
> > @@ -141,7 +141,7 @@ void CL_String::arg(std::string &format,
> > std::string CL_String::from_int(int value)
> > {
> > char str[32];
> > - memset(str, 32, 0);
> > + memset(str, 0, 32);
> > snprintf(str, 32, "%d", value);
> > return std::string(str);
> > }
> > @@ -149,7 +149,7 @@ std::string CL_String::from_int(int valu
> > std::string CL_String::from_float(float value)
> > {
> > char str[32];
> > - memset(str, 32, 0);
> > + memset(str, 0, 32);
> > snprintf(str, 32, "%f", value);
> > return std::string(str);
> > }
> > @@ -157,7 +157,7 @@ std::string CL_String::from_float(float
> > std::string CL_String::from_double(double value)
> > {
> > char str[32];
> > - memset(str, 32, 0);
> > + memset(str, 0, 32);
> > snprintf(str, 32, "%#f", value);
> > return std::string(str);
> > }
> >
>
> OT side note:
>
> Wouldn't it be easier (and cleaner) to do:
> char str[X]
> memset(str,0,sizeof(X));
> sprintf(str, sizeof(X), "%f", value);
>
> - Gilboa
Naah. Missed the 0.9 rebase thing.
Please ignore me.
- Gilboa
More information about the fedora-devel-list
mailing list