summaryrefslogtreecommitdiffhomepage
path: root/device.h
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2018-08-12 22:08:22 +0200
committerHans Dedecker <dedeckeh@gmail.com>2018-08-14 17:06:38 +0200
commit522456b9f3ab07a78de17bf693abead4a296b028 (patch)
tree5e749e5e2aa3c4a3e77a0546d5148961398bccf6 /device.h
parent115a694ab9a44cd52a8ab18e07909c753de9fb94 (diff)
device: gracefully handle device names exceeding IFNAMESIZ
Instead of truncating the device name when it exceeds IFNAMSIZ length; let device_set_ifname return an error code and do not add the device to the device list. This avoids possible issues with device names becoming identical due the truncation and as a result unexpected behavior. Further let the different device types gracefully handle the error code returned by device_init Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Diffstat (limited to 'device.h')
-rw-r--r--device.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/device.h b/device.h
index 84acf52..63f937a 100644
--- a/device.h
+++ b/device.h
@@ -250,7 +250,7 @@ device_apply_config(struct device *dev, struct device_type *type,
void device_reset_config(void);
void device_reset_old(void);
-void device_init_virtual(struct device *dev, struct device_type *type, const char *name);
+int device_init_virtual(struct device *dev, struct device_type *type, const char *name);
int device_init(struct device *dev, struct device_type *type, const char *ifname);
void device_cleanup(struct device *dev);
struct device *device_find(const char *name);