"Deps": [
{
"ImportPath": "github.com/containernetworking/cni/libcni",
- "Comment": "v0.5.2-git49d814c",
- "Rev": "49d814cf37bfea351a1caedd0c66825c9d6fca52"
+ "Comment": "v0.6.0-rc1",
+ "Rev": "a2da8f8d7fd8e6dc25f336408a8ac86f050fbd88"
},
{
"ImportPath": "github.com/containernetworking/cni/pkg/invoke",
- "Comment": "v0.5.2-git49d814c",
- "Rev": "49d814cf37bfea351a1caedd0c66825c9d6fca52"
+ "Comment": "v0.6.0-rc1",
+ "Rev": "a2da8f8d7fd8e6dc25f336408a8ac86f050fbd88"
},
{
"ImportPath": "github.com/containernetworking/cni/pkg/skel",
- "Comment": "v0.5.2-git49d814c",
- "Rev": "49d814cf37bfea351a1caedd0c66825c9d6fca52"
+ "Comment": "v0.6.0-rc1",
+ "Rev": "a2da8f8d7fd8e6dc25f336408a8ac86f050fbd88"
},
{
"ImportPath": "github.com/containernetworking/cni/pkg/types",
- "Comment": "v0.5.2-git49d814c",
- "Rev": "49d814cf37bfea351a1caedd0c66825c9d6fca52"
+ "Comment": "v0.6.0-rc1",
+ "Rev": "a2da8f8d7fd8e6dc25f336408a8ac86f050fbd88"
},
{
"ImportPath": "github.com/containernetworking/cni/pkg/types/020",
- "Comment": "v0.5.2-git49d814c",
- "Rev": "49d814cf37bfea351a1caedd0c66825c9d6fca52"
+ "Comment": "v0.6.0-rc1",
+ "Rev": "a2da8f8d7fd8e6dc25f336408a8ac86f050fbd88"
},
{
"ImportPath": "github.com/containernetworking/cni/pkg/types/current",
- "Comment": "v0.5.2-git49d814c",
- "Rev": "49d814cf37bfea351a1caedd0c66825c9d6fca52"
+ "Comment": "v0.6.0-rc1",
+ "Rev": "a2da8f8d7fd8e6dc25f336408a8ac86f050fbd88"
},
{
"ImportPath": "github.com/containernetworking/cni/pkg/version",
- "Comment": "v0.5.2-git49d814c",
- "Rev": "49d814cf37bfea351a1caedd0c66825c9d6fca52"
+ "Comment": "v0.6.0-rc1",
+ "Rev": "a2da8f8d7fd8e6dc25f336408a8ac86f050fbd88"
},
{
"ImportPath": "github.com/coreos/go-iptables/iptables",
return v.Elem().FieldByName(keyString)
}
+// UnmarshalableArgsError is used to indicate error unmarshalling args
+// from the args-string in the form "K=V;K2=V2;..."
+type UnmarshalableArgsError struct {
+ error
+}
+
// LoadArgs parses args from a string in the form "K=V;K2=V2;..."
func LoadArgs(args string, container interface{}) error {
if args == "" {
unknownArgs = append(unknownArgs, pair)
continue
}
-
- u := keyField.Addr().Interface().(encoding.TextUnmarshaler)
+ keyFieldIface := keyField.Addr().Interface()
+ u, ok := keyFieldIface.(encoding.TextUnmarshaler)
+ if !ok {
+ return UnmarshalableArgsError{fmt.Errorf(
+ "ARGS: cannot unmarshal into field '%s' - type '%s' does not implement encoding.TextUnmarshaler",
+ keyString, reflect.TypeOf(keyFieldIface))}
+ }
err := u.UnmarshalText([]byte(valueString))
if err != nil {
return fmt.Errorf("ARGS: error parsing value of pair %q: %v)", pair, err)