Use -ENOSPC rather than -ENOMEM, to distinguish the cases "generic out of
authorMichael Brown <mcb30@etherboot.org>
Wed, 20 Dec 2006 03:33:37 +0000 (03:33 +0000)
committerMichael Brown <mcb30@etherboot.org>
Wed, 20 Dec 2006 03:33:37 +0000 (03:33 +0000)
memory" and "no space left for DHCP options"

src/core/settings.c

index 3eface4..22b1daf 100644 (file)
@@ -212,7 +212,7 @@ static int set_string ( struct config_context *context,
        option = set_dhcp_option ( context->options, setting->tag,
                                   value, strlen ( value ) );
        if ( ! option )
-               return -ENOMEM;
+               return -ENOSPC;
        return 0;
 }
 
@@ -261,12 +261,12 @@ static int set_ipv4 ( struct config_context *context,
        struct in_addr ipv4;
        int rc;
        
-       if ( ( rc = inet_aton ( value, &ipv4 ) ) == 0 )
-               return rc;
+       if ( inet_aton ( value, &ipv4 ) == 0 )
+               return -EINVAL;
        option = set_dhcp_option ( context->options, setting->tag,
                                   &ipv4, sizeof ( ipv4 ) );
        if ( ! option )
-               return -ENOMEM;
+               return -ENOSPC;
        return 0;
 }
 
@@ -330,7 +330,7 @@ static int set_int ( struct config_context *context,
        option = set_dhcp_option ( context->options, setting->tag,
                                   &u.bytes[ sizeof ( u ) - size ], size );
        if ( ! option )
-               return -ENOMEM;
+               return -ENOSPC;
        return 0;
 }