about summary refs log tree commit diff
path: root/Src/Builtins/rlimits.c
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2016-03-26 09:45:47 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2016-03-26 09:45:47 -0700
commit1ea94513cc329c682d1afeaecd3bbfc3c66882ab (patch)
tree48da18a69410138f4f0a2c685da424d922b0e41f /Src/Builtins/rlimits.c
parent21202e7b95b2b34446fbac34df67205b3889eed2 (diff)
downloadzsh-1ea94513cc329c682d1afeaecd3bbfc3c66882ab.tar.gz
zsh-1ea94513cc329c682d1afeaecd3bbfc3c66882ab.tar.xz
zsh-1ea94513cc329c682d1afeaecd3bbfc3c66882ab.zip
Dmitry Marakasov: 38162: accept G for gigabytes in limit command
from github pull request - some formatting edited
Diffstat (limited to 'Src/Builtins/rlimits.c')
-rw-r--r--Src/Builtins/rlimits.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Src/Builtins/rlimits.c b/Src/Builtins/rlimits.c
index 8b664e36a..29f97b41d 100644
--- a/Src/Builtins/rlimits.c
+++ b/Src/Builtins/rlimits.c
@@ -610,14 +610,16 @@ bin_limit(char *nam, char **argv, Options ops, UNUSED(int func))
 		return 1;
 	    }
 	} else {
-	    /* memory-type resource -- `k' and `M' modifiers are permitted,
-	    meaning (respectively) 2^10 and 2^20. */
+	    /* memory-type resource -- `k', `M' and `G' modifiers are *
+	     * permitted, meaning (respectively) 2^10, 2^20 and 2^30. */
 	    val = zstrtorlimt(s, &s, 10);
 	    if (!*s || ((*s == 'k' || *s == 'K') && !s[1])) {
 		if (val != RLIM_INFINITY)
 		    val *= 1024L;
 	    } else if ((*s == 'M' || *s == 'm') && !s[1])
 		val *= 1024L * 1024;
+	    else if ((*s == 'G' || *s == 'g') && !s[1])
+		val *= 1024L * 1024 * 1024;
 	    else {
 		zwarnnam(nam, "unknown scaling factor: %s", s);
 		return 1;