Author: stefan2
Date: Wed Jun 13 21:22:24 2012
New Revision: 1350021
URL: http://svn.apache.org/viewvc?rev=1350021&view=rev
Log:
Silence more GCC conversion warnings (-Wconversion).
* subversion/libsvn_subr/adler32.c
(svn__adler32): adler32 returns always 32 bits
* subversion/libsvn_subr/cache.c
(svn_cache__format_info): do all calculations in double
* subversion/libsvn_subr/cache-membuffer.c
(is_group_initialized, initialize_group): explicitly cast to bytes
(svn_cache__membuffer_cache_create): test for overflow before casting
* subversion/libsvn_subr/string.c
(svn__ui64toa): result of % will fit into 32 bits
* subversion/mod_authz_svn/mod_authz_svn.c
(convert_case): explicitly cast back to char
Modified:
subversion/trunk/subversion/libsvn_subr/adler32.c
subversion/trunk/subversion/libsvn_subr/cache-membuffer.c
subversion/trunk/subversion/libsvn_subr/cache.c
subversion/trunk/subversion/libsvn_subr/string.c
subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c
subversion/trunk/subversion/svnserve/main.c
Modified: subversion/trunk/subversion/libsvn_subr/adler32.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/adler32.c?rev=1350021&r1=1350020&r2=1350021&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/adler32.c (original)
+++ subversion/trunk/subversion/libsvn_subr/adler32.c Wed Jun 13 21:22:24 2012
@@ -61,7 +61,9 @@ svn__adler32(apr_uint32_t checksum, cons
* optimized code. Also, new zlib versions will come with
* SIMD code for x86 and x64.
*/
- return adler32(checksum, (const Bytef *)data, (uInt)len);
+ return (apr_uint32_t)adler32(checksum,
+ (const Bytef *)data,
+ (uInt)len);
}
else
{
Modified: subversion/trunk/subversion/libsvn_subr/cache-membuffer.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/cache-membuffer.c?rev=1350021&r1=1350020&r2=1350021&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/cache-membuffer.c (original)
+++ subversion/trunk/subversion/libsvn_subr/cache-membuffer.c Wed Jun 13
21:22:24 2012
@@ -700,9 +700,11 @@ let_entry_age(svn_membuffer_t *cache, en
static APR_INLINE unsigned char
is_group_initialized(svn_membuffer_t *cache, apr_uint32_t group_index)
{
- unsigned char flags = cache->group_initialized
- [group_index / (8 * GROUP_INIT_GRANULARITY)];
- unsigned char bit_mask = 1 << ((group_index / GROUP_INIT_GRANULARITY) % 8);
+ unsigned char flags
+ = cache->group_initialized[group_index / (8 * GROUP_INIT_GRANULARITY)];
+ unsigned char bit_mask
+ = (unsigned char)(1 << ((group_index / GROUP_INIT_GRANULARITY) % 8));
+
return flags & bit_mask;
}
@@ -726,7 +728,8 @@ initialize_group(svn_membuffer_t *cache,
cache->directory[i][j].offset = NO_OFFSET;
/* set the "initialized" bit for these groups */
- bit_mask = 1 << ((group_index / GROUP_INIT_GRANULARITY) % 8);
+ bit_mask
+ = (unsigned char)(1 << ((group_index / GROUP_INIT_GRANULARITY) % 8));
cache->group_initialized[group_index / (8 * GROUP_INIT_GRANULARITY)]
|= bit_mask;
}
@@ -1075,11 +1078,10 @@ svn_cache__membuffer_cache_create(svn_me
* Note, that this limit could only be exceeded in a very
* theoretical setup with about 1EB of cache.
*/
- group_count = directory_size / sizeof(entry_group_t);
- if (group_count >= (APR_UINT32_MAX / GROUP_SIZE))
- {
- group_count = (APR_UINT32_MAX / GROUP_SIZE) - 1;
- }
+ group_count = directory_size / sizeof(entry_group_t)
+ >= (APR_UINT32_MAX / GROUP_SIZE)
+ ? (APR_UINT32_MAX / GROUP_SIZE) - 1
+ : (apr_uint32_t)(directory_size / sizeof(entry_group_t));
group_init_size = 1 + group_count / (8 * GROUP_INIT_GRANULARITY);
for (seg = 0; seg < segment_count; ++seg)
Modified: subversion/trunk/subversion/libsvn_subr/cache.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/cache.c?rev=1350021&r1=1350020&r2=1350021&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/cache.c (original)
+++ subversion/trunk/subversion/libsvn_subr/cache.c Wed Jun 13 21:22:24 2012
@@ -212,14 +212,14 @@ svn_cache__format_info(const svn_cache__
enum { _1MB = 1024 * 1024 };
apr_uint64_t misses = info->gets - info->hits;
- double hit_rate = (100.0 * info->hits)
- / (info->gets ? info->gets : 1);
- double write_rate = (100.0 * info->sets)
- / (misses ? misses : 1);
- double data_usage_rate = (100.0 * info->used_size)
- / (info->data_size ? info->data_size : 1);
- double data_entry_rate = (100.0 * info->used_entries)
- / (info->total_entries ? info->total_entries : 1);
+ double hit_rate = (100.0 * (double)info->hits)
+ / (double)(info->gets ? info->gets : 1);
+ double write_rate = (100.0 * (double)info->sets)
+ / (double)(misses ? misses : 1);
+ double data_usage_rate = (100.0 * (double)info->used_size)
+ / (double)(info->data_size ? info->data_size : 1);
+ double data_entry_rate = (100.0 * (double)info->used_entries)
+ / (double)(info->total_entries ? info->total_entries : 1);
return svn_string_createf(result_pool,
Modified: subversion/trunk/subversion/libsvn_subr/string.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/string.c?rev=1350021&r1=1350020&r2=1350021&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/string.c (original)
+++ subversion/trunk/subversion/libsvn_subr/string.c Wed Jun 13 21:22:24 2012
@@ -976,7 +976,7 @@ svn__ui64toa(char * dest, apr_uint64_t n
/* Number is larger than 100^4, i.e. we can write 4x2 chars.
* Also, use 32 bit DIVs as these are about twice as fast.
*/
- reduced = number % 100000000;
+ reduced = (apr_uint32_t)(number % 100000000);
number /= 100000000;
COPY_TWO_BYTES(target - 0, decimal_table[reduced % 100]);
Modified: subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c?rev=1350021&r1=1350020&r2=1350021&view=diff
==============================================================================
--- subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c (original)
+++ subversion/trunk/subversion/mod_authz_svn/mod_authz_svn.c Wed Jun 13
21:22:24 2012
@@ -235,7 +235,7 @@ convert_case(char *text, svn_boolean_t t
char *c = text;
while (*c)
{
- *c = (to_uppercase ? apr_toupper(*c) : apr_tolower(*c));
+ *c = (char)(to_uppercase ? apr_toupper(*c) : apr_tolower(*c));
++c;
}
}
Modified: subversion/trunk/subversion/svnserve/main.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/svnserve/main.c?rev=1350021&r1=1350020&r2=1350021&view=diff
==============================================================================
--- subversion/trunk/subversion/svnserve/main.c (original)
+++ subversion/trunk/subversion/svnserve/main.c Wed Jun 13 21:22:24 2012
@@ -898,6 +898,60 @@ int main(int argc, const char *argv[])
apr_signal(SIGXFSZ, SIG_IGN);
#endif
+#ifdef SIGUSR1
+ /* Disable SIGPIPE generation for the platforms that have it. */
+ apr_signal(SIGUSR1, SIG_IGN);
+/*
+#ifdef WIN32
+LRESULT CALLBACK ipc_window_proc(HWND hWnd, UINT message, WPARAM wParam,
LPARAM lParam)
+{
+ switch (message)
+ {
+ case WM_USER: ipc_recv(0);
+ break;
+ default: return DefWindowProc(hWnd, message, wParam, lParam);
+ break;
+
+ }
+ return 0;
+}
+#endif
+void ipc_init()
+{
+ string cdir = config_dir();
+ db_path = cdir + "/dropbox.xdf";
+ sig_path = cdir + "/sig";
+#ifndef WIN32
+ signal(SIGUSR1, ipc_recv);
+#else
+ //welcome to hell
+ HINSTANCE inst =
(HINSTANCE)GetWindowLong((HWND)GDK_WINDOW_HWND(get_mainwin()->window),
GWL_HINSTANCE);
+ WNDCLASSEX wcex;
+ wcex.cbSize = sizeof(WNDCLASSEX);
+ wcex.style = 0;
+ wcex.lpfnWndProc = ipc_window_proc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hCursor = 0;
+ wcex.hbrBackground = 0;
+ wcex.hIcon = 0;
+ wcex.hIconSm = 0;
+ wcex.hInstance = inst;
+ wcex.lpszMenuName = NULL;
+ wcex.lpszClassName = "MyApp Messages";
+ if(!RegisterClassEx(&wcex))
+ cerr << "Cannot register IPC window class!" << endl;
+ ipc_window = CreateWindow(wcex.lpszClassName, "MyApp IPC",
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 100, HWND_MESSAGE,
NULL, inst, NULL);
+ if(!ipc_window)
+ cerr << "Cannot create IPC window (" << (int)GetLastError() << ")" << endl;
+#endif
+ ofstream out(sig_path.c_str());
+ out << getpid() << endl;
+ out.close();
+}
+*/
+#endif
+
if (pid_filename)
SVN_INT_ERR(write_pid_file(pid_filename, pool));