Remove unnecessary git-rm --cached reference from status output
[gitweb.git] / config.c
index 21f166e60881f2144b1f54c21262937b5f8b5877..5cbd130be2664258b488d8b4ca914550e10906a0 100644 (file)
--- a/config.c
+++ b/config.c
@@ -238,6 +238,12 @@ int git_config_int(const char *name, const char *value)
                int val = strtol(value, &end, 0);
                if (!*end)
                        return val;
+               if (!strcasecmp(end, "k"))
+                       return val * 1024;
+               if (!strcasecmp(end, "m"))
+                       return val * 1024 * 1024;
+               if (!strcasecmp(end, "g"))
+                       return val * 1024 * 1024 * 1024;
        }
        die("bad config value for '%s' in %s", name, config_file_name);
 }
@@ -302,8 +308,8 @@ int git_default_config(const char *var, const char *value)
                int pgsz = getpagesize();
                packed_git_window_size = git_config_int(var, value);
                packed_git_window_size /= pgsz;
-               if (!packed_git_window_size)
-                       packed_git_window_size = 1;
+               if (packed_git_window_size < 2)
+                       packed_git_window_size = 2;
                packed_git_window_size *= pgsz;
                return 0;
        }
@@ -704,7 +710,7 @@ int git_config_set_multivar(const char* key, const char* value,
                }
 
                fstat(in_fd, &st);
-               contents = mmap(NULL, st.st_size, PROT_READ,
+               contents = xmmap(NULL, st.st_size, PROT_READ,
                        MAP_PRIVATE, in_fd, 0);
                close(in_fd);