1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-17 00:31:09 +02:00

Dmitry Marakasov: 38162: accept G for gigabytes in limit command

from github pull request - some formatting edited
This commit is contained in:
Barton E. Schaefer 2016-03-26 09:45:47 -07:00
parent 21202e7b95
commit 1ea94513cc
3 changed files with 9 additions and 2 deletions

View file

@ -1,3 +1,7 @@
2016-03-26 Barton E. Schaefer <schaefer@zsh.org>
* Dmitry Marakasov: 38162: accept G for gigabytes in limit command
2016-03-21 Daniel Shahaf <d.s@daniel.shahaf.name>
* 38182: Completion/Unix/Command/_git: Invoke reflog completion

View file

@ -1083,6 +1083,7 @@ startsitem()
sitem(var(n)tt(h))(hours)
sitem(var(n)tt(k))(kilobytes (default))
sitem(var(n)tt(m))(megabytes or minutes)
sitem(var(n)tt(g))(gigabytes)
sitem([var(mm)tt(:)]var(ss))(minutes and seconds)
endsitem()

View file

@ -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;