From: Tom Denham Date: Wed, 1 Jun 2016 00:12:40 +0000 (-0700) Subject: pkg/types: Add UnmarshallableString type X-Git-Url: https://git.halfball.org/?a=commitdiff_plain;h=031567c216598c0ae400b3049b475bce4bde5452;p=plugins.git pkg/types: Add UnmarshallableString type Allow strings to be unmarshalled for CNI_ARGS CNI_ARGS uses types.LoadArgs to populate a struct. The fields in the struct must meet the TextUnmarshaler interface. This code adds a UnmarshallableString type to assist with this. --- diff --git a/pkg/types/args.go b/pkg/types/args.go index 3b667b0..66dcf9e 100644 --- a/pkg/types/args.go +++ b/pkg/types/args.go @@ -41,6 +41,16 @@ func (b *UnmarshallableBool) UnmarshalText(data []byte) error { return nil } +// UnmarshallableString typedef for builtin string +type UnmarshallableString string + +// UnmarshalText implements the encoding.TextUnmarshaler interface. +// Returns the string +func (s *UnmarshallableString) UnmarshalText(data []byte) error { + *s = UnmarshallableString(data) + return nil +} + // CommonArgs contains the IgnoreUnknown argument // and must be embedded by all Arg structs type CommonArgs struct {