diff options
author | Michael Vogt <mvo@debian.org> | 2011-02-08 10:27:51 +0100 |
---|---|---|
committer | Michael Vogt <mvo@debian.org> | 2011-02-08 10:27:51 +0100 |
commit | 09b8bd3226a68272f98e4020d10348ff26642500 (patch) | |
tree | 1394a74a187ce61982c6c8649721de2f543459a1 /apt-pkg/contrib/strutl.cc | |
parent | 7c748f4aa1bd47089672353fd1a401d1c5c94723 (diff) | |
parent | 4c6cf49317769725fee34a132c52ec1fe076b8b5 (diff) |
merged from lp:~mvo/apt/mvo (which is really lp:~donkult/apt/sid with some updated comments ;)
Diffstat (limited to 'apt-pkg/contrib/strutl.cc')
-rw-r--r-- | apt-pkg/contrib/strutl.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/apt-pkg/contrib/strutl.cc b/apt-pkg/contrib/strutl.cc index c2b335ed7..2e2bb5ebc 100644 --- a/apt-pkg/contrib/strutl.cc +++ b/apt-pkg/contrib/strutl.cc @@ -968,6 +968,23 @@ bool StrToNum(const char *Str,unsigned long &Res,unsigned Len,unsigned Base) return true; } /*}}}*/ +// Base256ToNum - Convert a fixed length binary to a number /*{{{*/ +// --------------------------------------------------------------------- +/* This is used in decoding the 256bit encoded fixed length fields in + tar files */ +bool Base256ToNum(const char *Str,unsigned long &Res,unsigned int Len) +{ + if ((Str[0] & 0x80) == 0) + return false; + else + { + Res = Str[0] & 0x7F; + for(unsigned int i = 1; i < Len; ++i) + Res = (Res<<8) + Str[i]; + return true; + } +} + /*}}}*/ // HexDigit - Convert a hex character into an integer /*{{{*/ // --------------------------------------------------------------------- /* Helper for Hex2Num */ |