@@ -575,48 +575,48 @@ public void ParseBuffer(byte[] header)
575575
576576 int offset = 0 ;
577577
578- name = TarHeader . ParseName ( header , offset , TarHeader . NAMELEN ) . ToString ( ) ;
579- offset += TarHeader . NAMELEN ;
578+ name = ParseName ( header , offset , NAMELEN ) . ToString ( ) ;
579+ offset += NAMELEN ;
580580
581- mode = ( int ) TarHeader . ParseOctal ( header , offset , TarHeader . MODELEN ) ;
582- offset += TarHeader . MODELEN ;
581+ mode = ( int ) ParseOctal ( header , offset , MODELEN ) ;
582+ offset += MODELEN ;
583583
584- UserId = ( int ) TarHeader . ParseOctal ( header , offset , TarHeader . UIDLEN ) ;
585- offset += TarHeader . UIDLEN ;
584+ UserId = ( int ) ParseOctal ( header , offset , UIDLEN ) ;
585+ offset += UIDLEN ;
586586
587- GroupId = ( int ) TarHeader . ParseOctal ( header , offset , TarHeader . GIDLEN ) ;
588- offset += TarHeader . GIDLEN ;
587+ GroupId = ( int ) ParseOctal ( header , offset , GIDLEN ) ;
588+ offset += GIDLEN ;
589589
590- Size = TarHeader . ParseBinaryOrOctal ( header , offset , TarHeader . SIZELEN ) ;
591- offset += TarHeader . SIZELEN ;
590+ Size = ParseBinaryOrOctal ( header , offset , SIZELEN ) ;
591+ offset += SIZELEN ;
592592
593- ModTime = GetDateTimeFromCTime ( TarHeader . ParseOctal ( header , offset , TarHeader . MODTIMELEN ) ) ;
594- offset += TarHeader . MODTIMELEN ;
593+ ModTime = GetDateTimeFromCTime ( ParseOctal ( header , offset , MODTIMELEN ) ) ;
594+ offset += MODTIMELEN ;
595595
596- checksum = ( int ) TarHeader . ParseOctal ( header , offset , TarHeader . CHKSUMLEN ) ;
597- offset += TarHeader . CHKSUMLEN ;
596+ checksum = ( int ) ParseOctal ( header , offset , CHKSUMLEN ) ;
597+ offset += CHKSUMLEN ;
598598
599599 TypeFlag = header [ offset ++ ] ;
600600
601- LinkName = TarHeader . ParseName ( header , offset , TarHeader . NAMELEN ) . ToString ( ) ;
602- offset += TarHeader . NAMELEN ;
601+ LinkName = ParseName ( header , offset , NAMELEN ) . ToString ( ) ;
602+ offset += NAMELEN ;
603603
604- Magic = TarHeader . ParseName ( header , offset , TarHeader . MAGICLEN ) . ToString ( ) ;
605- offset += TarHeader . MAGICLEN ;
604+ Magic = ParseName ( header , offset , MAGICLEN ) . ToString ( ) ;
605+ offset += MAGICLEN ;
606606
607- Version = TarHeader . ParseName ( header , offset , TarHeader . VERSIONLEN ) . ToString ( ) ;
608- offset += TarHeader . VERSIONLEN ;
607+ Version = ParseName ( header , offset , VERSIONLEN ) . ToString ( ) ;
608+ offset += VERSIONLEN ;
609609
610- UserName = TarHeader . ParseName ( header , offset , TarHeader . UNAMELEN ) . ToString ( ) ;
611- offset += TarHeader . UNAMELEN ;
610+ UserName = ParseName ( header , offset , UNAMELEN ) . ToString ( ) ;
611+ offset += UNAMELEN ;
612612
613- GroupName = TarHeader . ParseName ( header , offset , TarHeader . GNAMELEN ) . ToString ( ) ;
614- offset += TarHeader . GNAMELEN ;
613+ GroupName = ParseName ( header , offset , GNAMELEN ) . ToString ( ) ;
614+ offset += GNAMELEN ;
615615
616- DevMajor = ( int ) TarHeader . ParseOctal ( header , offset , TarHeader . DEVLEN ) ;
617- offset += TarHeader . DEVLEN ;
616+ DevMajor = ( int ) ParseOctal ( header , offset , DEVLEN ) ;
617+ offset += DEVLEN ;
618618
619- DevMinor = ( int ) TarHeader . ParseOctal ( header , offset , TarHeader . DEVLEN ) ;
619+ DevMinor = ( int ) ParseOctal ( header , offset , DEVLEN ) ;
620620
621621 // Fields past this point not currently parsed or used...
622622
@@ -745,12 +745,11 @@ static internal void RestoreSetValues()
745745 // Return value that may be stored in octal or binary. Length must exceed 8.
746746 //
747747 static private long ParseBinaryOrOctal ( byte [ ] header , int offset , int length ) {
748- if ( header [ offset ] >= 128 ) {
748+ if ( header [ offset ] >= 0x80 ) {
749749 // File sizes over 8GB are stored in 8 right-justified bytes of binary indicated by setting the high-order bit of the leftmost byte of a numeric field.
750- int pos = length - 8 ;
751750 long result = 0 ;
752- while ( pos < length ) {
753- result = result << 8 | header [ offset + pos ++ ] ;
751+ for ( int pos = length - 8 ; pos < length ; pos ++ ) {
752+ result = result << 8 | header [ offset + pos ] ;
754753 }
755754 return result ;
756755 }
@@ -1045,12 +1044,11 @@ private static int GetBinaryOrOctalBytes(long value, byte[] buffer, int offset,
10451044 {
10461045 if ( value > 0x1FFFFFFFF ) { // Octal 77777777777 (11 digits)
10471046 // Put value as binary, right-justified into the buffer. Set high order bit of left-most byte.
1048- int pos = length - 1 ;
1049- while ( pos > 0 ) {
1050- buffer [ offset + pos -- ] = ( byte ) value ;
1047+ for ( int pos = length - 1 ; pos > 0 ; pos -- ) {
1048+ buffer [ offset + pos ] = ( byte ) value ;
10511049 value = value >> 8 ;
10521050 }
1053- buffer [ offset ] = 128 ;
1051+ buffer [ offset ] = 0x80 ;
10541052 return offset + length ;
10551053 }
10561054 return GetOctalBytes ( value , buffer , offset , length ) ;
@@ -1068,10 +1066,9 @@ private static int GetBinaryOrOctalBytes(long value, byte[] buffer, int offset,
10681066 /// The final space is already there, from checksumming
10691067 /// </param>
10701068 /// <returns>The modified buffer offset</returns>
1071- static int GetCheckSumOctalBytes ( long value , byte [ ] buffer , int offset , int length )
1069+ static void GetCheckSumOctalBytes ( long value , byte [ ] buffer , int offset , int length )
10721070 {
1073- TarHeader . GetOctalBytes ( value , buffer , offset , length - 1 ) ;
1074- return offset + length ;
1071+ GetOctalBytes ( value , buffer , offset , length - 1 ) ;
10751072 }
10761073
10771074 /// <summary>
@@ -1102,7 +1099,7 @@ static int MakeCheckSum(byte[] buffer)
11021099 sum += buffer [ i ] ;
11031100 }
11041101
1105- for ( int i = 0 ; i < TarHeader . CHKSUMLEN ; ++ i )
1102+ for ( int i = 0 ; i < CHKSUMLEN ; ++ i )
11061103 {
11071104 sum += ( byte ) ' ' ;
11081105 }
@@ -1114,7 +1111,7 @@ static int MakeCheckSum(byte[] buffer)
11141111 return sum ;
11151112 }
11161113
1117- static int GetCTime ( System . DateTime dateTime )
1114+ static int GetCTime ( DateTime dateTime )
11181115 {
11191116 return unchecked ( ( int ) ( ( dateTime . Ticks - dateTime1970 . Ticks ) / timeConversionFactor ) ) ;
11201117 }
0 commit comments