VS 2010 doesn't have snprintf().
As a temporary workaround (until we move to VS 2015)
#define snprintf as _snprintf (which doesn't null-terminate
if buffer is too small).
This is at least no worse than using sprintf(), which we were doing.
Except for very specific cases, strncpy() should never be used.
It can result in a non-terminated string.
Also replace strncat() with strlcat(); the latter is simpler
because you don't have to calculate remaining buffer space.
There were two problems:
1) we were sorting before parsing the client state file
(which is where we get project names from)
2) the Win implementation of strcasecmp() wasn't right;
it returned difference but not order.
- Fix build problems on Mac OS X using autotools
- Consistently use #if HAVE_X for platform checks,
rather than #ifdef HAVE_X or #if defined(HAVE_X)
- In Unix build, make lots of compiler checks standard
- Fix some compile warnings
From Matt Arsenault.
Note: there are now lots of compile warnings in clientgui/ on Unix,
mostly in WxWidgets code
svn path=/trunk/boinc/; revision=24303
and exclusive GPU apps
- client: fix bug that caused GPU apps to not be
suspended or resumed immediately after
exclusive GPU app transition
- client: in log message, instead of saying
"fetching tasks for GPU", say which kind of GPU
svn path=/trunk/boinc/; revision=22298