diff options
author | Wilson P. Snyder II <unknown@perl.org> | 1998-11-30 00:00:00 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 1998-12-31 11:18:17 +0000 |
commit | 4f19785bce4da39a768aa6210f1f97ab4c0600dd (patch) | |
tree | d61c839a9780269b7b0766bad2487e8053caa5fd /sv.c | |
parent | 142393a6492fce5c4bb6f282b1ba1d8da7c0064b (diff) | |
download | perl-4f19785bce4da39a768aa6210f1f97ab4c0600dd.tar.gz |
REV2: Binary number support
To: perl5-porters@perl.org
Message-ID: <199811301543.KAA15689@vulcan.maker.com>
p4raw-id: //depot/cfgperl@2546
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -4645,6 +4645,10 @@ sv_vcatpvfn(SV *sv, const char *pat, STRLEN patlen, va_list *args, SV **svargs, base = 10; goto uns_integer; + case 'b': + base = 2; + goto uns_integer; + case 'O': intsize = 'l'; /* FALL THROUGH */ @@ -4700,6 +4704,14 @@ sv_vcatpvfn(SV *sv, const char *pat, STRLEN patlen, va_list *args, SV **svargs, if (alt && *eptr != '0') *--eptr = '0'; break; + case 2: + do { + dig = uv & 1; + *--eptr = '0' + dig; + } while (uv >>= 1); + if (alt && *eptr != '0') + *--eptr = '0'; + break; default: /* it had better be ten or less */ do { dig = uv % base; |