@@ -235,46 +235,11 @@ func getIDMappings(config *Config) (*idtools.IDMappings, error) {
235235 return nil , nil
236236 }
237237
238- parseTriple := func (spec []string ) (container , host , size int , err error ) {
239- cid , err := strconv .ParseUint (spec [0 ], 10 , 32 )
240- if err != nil {
241- return 0 , 0 , 0 , fmt .Errorf ("error parsing id map value %q: %v" , spec [0 ], err )
242- }
243- hid , err := strconv .ParseUint (spec [1 ], 10 , 32 )
244- if err != nil {
245- return 0 , 0 , 0 , fmt .Errorf ("error parsing id map value %q: %v" , spec [1 ], err )
246- }
247- sz , err := strconv .ParseUint (spec [2 ], 10 , 32 )
248- if err != nil {
249- return 0 , 0 , 0 , fmt .Errorf ("error parsing id map value %q: %v" , spec [2 ], err )
250- }
251- return int (cid ), int (hid ), int (sz ), nil
252- }
253- parseIDMap := func (spec []string ) (idmap []idtools.IDMap , err error ) {
254- for _ , uid := range spec {
255- splitmap := strings .SplitN (uid , ":" , 3 )
256- if len (splitmap ) < 3 {
257- return nil , fmt .Errorf ("invalid mapping requires 3 fields: %q" , uid )
258- }
259- cid , hid , size , err := parseTriple (splitmap )
260- if err != nil {
261- return nil , err
262- }
263- pmap := idtools.IDMap {
264- ContainerID : cid ,
265- HostID : hid ,
266- Size : size ,
267- }
268- idmap = append (idmap , pmap )
269- }
270- return idmap , nil
271- }
272-
273- parsedUIDsMappings , err := parseIDMap (strings .Split (config .UIDMappings , "," ))
238+ parsedUIDsMappings , err := idtools .ParseIDMap (strings .Split (config .UIDMappings , "," ), "UID" )
274239 if err != nil {
275240 return nil , err
276241 }
277- parsedGIDsMappings , err := parseIDMap (strings .Split (config .GIDMappings , "," ))
242+ parsedGIDsMappings , err := idtools . ParseIDMap (strings .Split (config .GIDMappings , "," ), "GID" )
278243 if err != nil {
279244 return nil , err
280245 }
0 commit comments