Code

solaris-fixes branch: Change `pagesize' to be a `unsigned long long'.
authorocto <octo>
Thu, 15 Jun 2006 20:37:27 +0000 (20:37 +0000)
committerocto <octo>
Thu, 15 Jun 2006 20:37:27 +0000 (20:37 +0000)
Christophe Kalt is having problems with what appears to be a 32bit overflow.
This is just to make sure the multiplications with `pagesize' are not causing
this.

src/swap.c

index 1595cdecbcaee1831504a891bb70ebef11286fea..f8ce93f328fd697d7e1979ac5f25031a6c74c54c 100644 (file)
@@ -53,7 +53,7 @@ static char *ds_def[] =
 static int ds_num = 4;
 
 #ifdef KERNEL_SOLARIS
-static int pagesize;
+static unsigned long long pagesize;
 static kstat_t *ksp;
 #endif /* KERNEL_SOLARIS */
 
@@ -61,7 +61,7 @@ static void swap_init (void)
 {
 #ifdef KERNEL_SOLARIS
        /* getpagesize(3C) tells me this does not fail.. */
-       pagesize = getpagesize ();
+       pagesize = (unsigned long long) getpagesize ();
        if (get_kstat (&ksp, "unix", 0, "system_pages"))
                ksp = NULL;
 #endif /* KERNEL_SOLARIS */