user/gshadow.go
func LookupInGShadow(field gshadowField, value string, n int) ([]*GShadow, error) {
	checkRoot()

	iEntries, err := lookUp(&GShadow{}, field, value, n)
	if err != nil {
		return nil, err
	}

	// == Convert to type GShadow
	valueSlice := reflect.ValueOf(iEntries)
	entries := make([]*GShadow, valueSlice.Len())

	for i := 0; i < valueSlice.Len(); i++ {
		entries[i] = valueSlice.Index(i).Interface().(*GShadow)
	}

	return entries, err
}
func LookupInGShadow(field gshadowField, value string, n int) ([]*GShadow, error) {
	checkRoot()

	iEntries, err := lookUp(&GShadow{}, field, value, n)
	if err != nil {
		return nil, err
	}

	// == Convert to type GShadow
	valueSlice := reflect.ValueOf(iEntries)
	entries := make([]*GShadow, valueSlice.Len())

	for i := 0; i < valueSlice.Len(); i++ {
		entries[i] = valueSlice.Index(i).Interface().(*GShadow)
	}

	return entries, err
}
func LookupInGShadow ( field gshadowField , value string , n int ) ( [ ] * GShadow , error ) { checkRoot ( ) iEntries , err := lookUp ( & GShadow { } , field , value , n ) if err != nil { return nil , err } // == Convert to type GShadow valueSlice := reflect . ValueOf ( iEntries ) entries := make ( [ ] * GShadow , valueSlice . Len ( ) ) for i := 0 ; i < valueSlice . Len ( ) ; i ++ { entries [ i ] = valueSlice . Index ( i ) . Interface ( ) . ( * GShadow ) } return entries , err }
// LookupInGShadow looks up a shadowed group by the given values.
//
// The count determines the number of fields to return:
//   n > 0: at most n fields
//   n == 0: the result is nil (zero fields)
//   n < 0: all fields
LookupInGShadow looks up a shadowed group by the given values . The count determines the number of fields to return : n > 0 : at most n fields n == 0 : the result is nil ( zero fields ) n < 0 : all fields