clanlib memset bugs.
Gilboa Davara
gilboad at gmail.com
Sat Mar 8 08:57:15 UTC 2008
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
More information about the devel
mailing list