26 lines
		
	
	
	
		
			431 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
	
		
			431 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|  | package infinitecraft | ||
|  | 
 | ||
|  | import ( | ||
|  | 	"fmt" | ||
|  | 	"os" | ||
|  | ) | ||
|  | 
 | ||
|  | func NewMerger(args []string) (*Merger, error) { | ||
|  | 	m := Merger{} | ||
|  | 	var err error | ||
|  | 	if len(args) < 2 { | ||
|  | 		//nolint:err113 // Don't care | ||
|  | 		return nil, fmt.Errorf("expected at lease 2 arguments. Got %d", len(args)) | ||
|  | 	} | ||
|  | 	fs := make([]*os.File, len(args)) | ||
|  | 	for idx, pth := range args { | ||
|  | 		fs[idx], err = os.Open(pth) | ||
|  | 		if err != nil { | ||
|  | 			return nil, err | ||
|  | 		} | ||
|  | 	} | ||
|  | 	m.files = fs | ||
|  | 
 | ||
|  | 	return &m, nil | ||
|  | } |