[PATCH] uml: timer cleanups
[powerpc.git] / arch / um / os-Linux / mem.c
index d24d1a9..b170b47 100644 (file)
@@ -114,14 +114,14 @@ static void which_tmpdir(void)
        }
 
        while(1){
-               found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), ' ');
+               found = next(fd, buf, ARRAY_SIZE(buf), ' ');
                if(found != 1)
                        break;
 
                if(!strncmp(buf, "/dev/shm", strlen("/dev/shm")))
                        goto found;
 
-               found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), '\n');
+               found = next(fd, buf, ARRAY_SIZE(buf), '\n');
                if(found != 1)
                        break;
        }
@@ -135,7 +135,7 @@ err:
        return;
 
 found:
-       found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), ' ');
+       found = next(fd, buf, ARRAY_SIZE(buf), ' ');
        if(found != 1)
                goto err;
 
@@ -210,8 +210,11 @@ int create_tmp_file(unsigned long long len)
                exit(1);
        }
 
-        if (lseek64(fd, len, SEEK_SET) < 0) {
-               perror("os_seek_file");
+       /* Seek to len - 1 because writing a character there will
+        * increase the file size by one byte, to the desired length.
+        */
+       if (lseek64(fd, len - 1, SEEK_SET) < 0) {
+               perror("os_seek_file");
                exit(1);
        }