There were a bunch of missed ARRAY_SIZE opportunities.
Also, some formatting fixes in the affected areas of code.
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
 
        ops = NULL;
        data = NULL;
-       for(i = 0; i < sizeof(chan_table)/sizeof(chan_table[0]); i++){
+       for(i = 0; i < ARRAY_SIZE(chan_table); i++){
                entry = &chan_table[i];
                if(!strncmp(str, entry->key, strlen(entry->key))){
                        ops = entry->ops;
 
        }
 
        error = NULL;
-       size = sizeof(default_buf)/sizeof(default_buf[0]);
+       size = ARRAY_SIZE(default_buf);
        buf = default_buf;
 
        while(1){
 
 #include "user.h"
 #include "mconsole.h"
 #include "umid.h"
+#include "user_util.h"
 
 static struct mconsole_command commands[] = {
        /* With uts namespaces, uts information becomes process-specific, so
        struct mconsole_command *cmd;
        int i;
 
-       for(i=0;i<sizeof(commands)/sizeof(commands[0]);i++){
+       for(i = 0; i < ARRAY_SIZE(commands); i++){
                cmd = &commands[i];
                if(!strncmp(req->request.data, cmd->command, 
                            strlen(cmd->command))){
-                       return(cmd);
+                       return cmd;
                }
        }
-       return(NULL);
+       return NULL;
 }
 
 #define MIN(a,b) ((a)<(b) ? (a):(b))
 
        if(host_if != NULL)
                init->host_if = host_if;
 
-       for(i = 0; i < sizeof(options)/sizeof(options[0]); i++){
+       for(i = 0; i < ARRAY_SIZE(options); i++){
                if(options[i] == NULL)
                        continue;
                if(!strcmp(options[i], "promisc"))
 
 
        empty_zero_page = (unsigned long *) alloc_bootmem_low_pages(PAGE_SIZE);
        empty_bad_page = (unsigned long *) alloc_bootmem_low_pages(PAGE_SIZE);
-       for(i=0;i<sizeof(zones_size)/sizeof(zones_size[0]);i++) 
+       for(i = 0; i < ARRAY_SIZE(zones_size); i++)
                zones_size[i] = 0;
+
        zones_size[ZONE_DMA] = (end_iomem >> PAGE_SHIFT) - (uml_physmem >> PAGE_SHIFT);
 #ifdef CONFIG_HIGHMEM
        zones_size[ZONE_HIGHMEM] = highmem >> PAGE_SHIFT;
 
        struct task_struct *p;
        int i;
 
-       for(i = 0; i < sizeof(idle_threads)/sizeof(idle_threads[0]); i++){
+       for(i = 0; i < ARRAY_SIZE(idle_threads); i++){
                p = idle_threads[i];
                if((p != NULL) && (p->thread.mode.tt.extern_pid != me))
                        os_kill_process(p->thread.mode.tt.extern_pid, 0);
 {
        machine_power_off();
 }
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only.  This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */
 
         int r, w, x;
         struct host_vm_op ops[1];
         void *flush = NULL;
-        int op_index = -1, last_op = sizeof(ops) / sizeof(ops[0]) - 1;
+        int op_index = -1, last_op = ARRAY_SIZE(ops) - 1;
         int ret = 0;
 
-        if(mm == NULL) return;
+        if(mm == NULL)
+               return;
 
         ops[0].type = NONE;
         for(addr = start_addr; addr < end_addr && !ret;){
 
        }
 
        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;
        }
        return;
 
 found:
-       found = next(fd, buf, sizeof(buf) / sizeof(buf[0]), ' ');
+       found = next(fd, buf, ARRAY_SIZE(buf), ' ');
        if(found != 1)
                goto err;
 
 
 #include "sysdep/ptrace.h"
 #include "task.h"
 #include "os.h"
+#include "user_util.h"
 
 #define MAXTOKEN 64
 
 static int check_cpu_flag(char *feature, int *have_it)
 {
        char buf[MAXTOKEN], c;
-       int fd, len = sizeof(buf)/sizeof(buf[0]);
+       int fd, len = ARRAY_SIZE(buf);
 
        printk("Checking for host processor %s support...", feature);
        fd = os_open_file("/proc/cpuinfo", of_read(OPENFLAGS()), 0);
        if(fd < 0){
                printk("Couldn't open /proc/cpuinfo, err = %d\n", -fd);
-               return(0);
+               return 0;
        }
 
        *have_it = 0;
-       if(!find_cpuinfo_line(fd, "flags", buf, sizeof(buf) / sizeof(buf[0])))
+       if(!find_cpuinfo_line(fd, "flags", buf, ARRAY_SIZE(buf)))
                goto out;
 
        c = token(fd, buf, len - 1, ' ');
        if(*have_it == 0) printk("No\n");
        else if(*have_it == 1) printk("Yes\n");
        os_close_file(fd);
-       return(1);
+       return 1;
 }
 
 #if 0 /* This doesn't work in tt mode, plus it's causing compilation problems
 
                        size++;
        }
 
-       if(size < sizeof(dummy_list)/sizeof(dummy_list[0])) {
+       if(size < ARRAY_SIZE(dummy_list))
                host_ldt_entries = dummy_list;
-       }
        else {
                size = (size + 1) * sizeof(dummy_list[0]);
                host_ldt_entries = (short *)kmalloc(size, GFP_KERNEL);
 
 #include "user.h"
 #include "os.h"
 #include "uml-config.h"
+#include "user_util.h"
 
 int ptrace_getregs(long pid, unsigned long *regs_out)
 {
        int nregs, i;
 
        dummy = NULL;
-       nregs = sizeof(dummy->u_debugreg)/sizeof(dummy->u_debugreg[0]);
+       nregs = ARRAY_SIZE(dummy->u_debugreg);
        for(i = 0; i < nregs; i++){
                if((i == 4) || (i == 5)) continue;
                if(ptrace(PTRACE_POKEUSR, pid, &dummy->u_debugreg[i],
        int nregs, i;
 
        dummy = NULL;
-       nregs = sizeof(dummy->u_debugreg)/sizeof(dummy->u_debugreg[0]);
+       nregs = ARRAY_SIZE(dummy->u_debugreg);
        for(i = 0; i < nregs; i++){
                regs[i] = ptrace(PTRACE_PEEKUSR, pid,
                                 &dummy->u_debugreg[i], 0);