func parseGShadow(row string) (*GShadow, error) {
	fields := strings.Split(row, ":")
	if len(fields) != 4 {
		return nil, rowError{_GSHADOW_FILE, row}
	}

	return &GShadow{
		fields[0],
		fields[1],
		strings.Split(fields[2], ","),
		strings.Split(fields[3], ","),
	}, nil
}
func parseGShadow(row string) (*GShadow, error) {
	fields := strings.Split(row, ":")
	if len(fields) != 4 {
		return nil, rowError{_GSHADOW_FILE, row}
	}

	return &GShadow{
		fields[0],
		fields[1],
		strings.Split(fields[2], ","),
		strings.Split(fields[3], ","),
	}, nil
}
func parseGShadow ( row string ) ( * GShadow , error ) { fields := strings . Split ( row , " " ) if len ( fields ) != 4 { return nil , rowError { _GSHADOW_FILE , row } } return & GShadow { fields [ 0 ] , fields [ 1 ] , strings . Split ( fields [ 2 ] , " " ) , strings . Split ( fields [ 3 ] , " " ) , } , nil }
// parseGShadow parses the row of a group shadow.
parseGShadow parses the row of a group shadow .