# File tar.rb, line 108
108:     def RecordHeader.from_stream( stream )
109:       fields = stream.read( RECORD_SIZE ).unpack( "A#{NAME_SIZE}" + # record name
110:                                                   "A8A8A8" +        # mode, uid, gid
111:                                                   "A12A12A8" +      # size, mtime, chksum
112:                                                   "A" +             # linkflag
113:                                                   "A#{NAME_SIZE}" + # link name
114:                                                   "A6A2" +          # magic, version
115:                                                   "A#{UNAME_LEN}" + # uname
116:                                                   "A#{GNAME_LEN}" + # gname
117:                                                   "A8A8" +          # dev major, dev minor
118:                                                   "A#{PREFIX_LEN}"  # prefix
119:                                                 )
120: 
121:       name = fields.shift
122:       mode = fields.shift.oct
123:       uid = fields.shift.oct
124:       gid = fields.shift.oct
125:       size = fields.shift.oct
126:       mtime = fields.shift.oct
127:       chksum = fields.shift.oct
128:       linkflag = fields.shift
129:       linkname = fields.shift
130:       magic = fields.shift
131:       version = fields.shift.oct
132:       uname = fields.shift
133:       gname = fields.shift
134:       devmajor = fields.shift.oct
135:       devminor = fields.shift.oct
136:       prefix = fields.shift
137: 
138:       new( :name=>name, :mode=>mode, :uid=>uid, :gid=>gid, :size=>size, :mtime=>mtime, :chksum=>chksum,
139:            :linkflag=>linkflag, :magic=>magic, :version=>version, :uname=>uname, :gname=>gname,
140:            :devmajor=>devmajor, :devminor=>devminor, :prefix=>prefix )
141:     end