summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/evemu.h1
-rw-r--r--src/evemu.c13
2 files changed, 11 insertions, 3 deletions
diff --git a/include/evemu.h b/include/evemu.h
index 31107bc..6e6ed44 100644
--- a/include/evemu.h
+++ b/include/evemu.h
@@ -55,6 +55,7 @@ void evemu_delete(struct evemu_device *dev);
55unsigned int evemu_get_version(const struct evemu_device *dev); 55unsigned int evemu_get_version(const struct evemu_device *dev);
56 56
57const char *evemu_get_name(const struct evemu_device *dev); 57const char *evemu_get_name(const struct evemu_device *dev);
58void evemu_set_name(struct evemu_device *dev, const char *name);
58 59
59unsigned int evemu_get_id_bustype(const struct evemu_device *dev); 60unsigned int evemu_get_id_bustype(const struct evemu_device *dev);
60unsigned int evemu_get_id_vendor(const struct evemu_device *dev); 61unsigned int evemu_get_id_vendor(const struct evemu_device *dev);
diff --git a/src/evemu.c b/src/evemu.c
index f06c64a..988ae7c 100644
--- a/src/evemu.c
+++ b/src/evemu.c
@@ -86,9 +86,10 @@ struct evemu_device *evemu_new(const char *name)
86{ 86{
87 struct evemu_device *dev = calloc(1, sizeof(struct evemu_device)); 87 struct evemu_device *dev = calloc(1, sizeof(struct evemu_device));
88 88
89 dev->version = EVEMU_VERSION; 89 if (dev) {
90 if (name && strlen(name) < sizeof(dev->name)) 90 dev->version = EVEMU_VERSION;
91 strcpy(dev->name, name); 91 evemu_set_name(dev, name);
92 }
92 93
93 return dev; 94 return dev;
94} 95}
@@ -114,6 +115,12 @@ const char *evemu_get_name(const struct evemu_device *dev)
114 return dev->name; 115 return dev->name;
115} 116}
116 117
118void evemu_set_name(struct evemu_device *dev, const char *name)
119{
120 if (name && strlen(name) < sizeof(dev->name))
121 strcpy(dev->name, name);
122}
123
117unsigned int evemu_get_id_bustype(const struct evemu_device *dev) 124unsigned int evemu_get_id_bustype(const struct evemu_device *dev)
118{ 125{
119 return dev->id.bustype; 126 return dev->id.bustype;