always include the `id` in interrupts names
Rémi Lefèvre committed
Dec 10, 2016 at 15:01 UTC
5ab13eb3071e4d74edeff0e3310672e45c2d3dee
1 file changed
+7
-2
src/proc_interrupts.c
+7
-2
@@ -125,9 +125,14 @@ int do_proc_interrupts(int update_every, unsigned long long dt) {
125
if(unlikely(isdigit(irr->id[0]) && (uint32_t)(cpus + 2) < words)) {
126
strncpyz(irr->name, procfile_lineword(ff, l, words - 1), MAX_INTERRUPT_NAME);
127
int nlen = strlen(irr->name);
128
- if(unlikely(nlen < (MAX_INTERRUPT_NAME-1))) {
128
+ int idlen = strlen(irr->id);
129
+ if(likely(nlen + 1 + idlen <= MAX_INTERRUPT_NAME)) {
130
irr->name[nlen] = '_';
130
- strncpyz(&irr->name[nlen + 1], irr->id, MAX_INTERRUPT_NAME - nlen);
131
+ strncpyz(&irr->name[nlen + 1], irr->id, MAX_INTERRUPT_NAME - nlen - 1);
132
+ }
133
+ else {
134
+ irr->name[MAX_INTERRUPT_NAME - idlen - 1] = '_';
135
+ strncpyz(&irr->name[MAX_INTERRUPT_NAME - idlen], irr->id, idlen);
136
}
137
}
138
else {