]> arthur.barton.de Git - netdata.git/commitdiff
always include the `id` in interrupts names
authorRémi Lefèvre <remi.lefevre@parrot.com>
Sat, 10 Dec 2016 14:01:46 +0000 (15:01 +0100)
committerRémi Lefèvre <remi.lefevre@parrot.com>
Sat, 10 Dec 2016 14:01:46 +0000 (15:01 +0100)
src/proc_interrupts.c

index 145d72a20fb917b533b46c570a08ab577b243771..72f16a6c7e2f41b86bbf86c61dad6b41ad510c96 100644 (file)
@@ -125,9 +125,14 @@ int do_proc_interrupts(int update_every, unsigned long long dt) {
         if(unlikely(isdigit(irr->id[0]) && (uint32_t)(cpus + 2) < words)) {
             strncpyz(irr->name, procfile_lineword(ff, l, words - 1), MAX_INTERRUPT_NAME);
             int nlen = strlen(irr->name);
-            if(unlikely(nlen < (MAX_INTERRUPT_NAME-1))) {
+            int idlen = strlen(irr->id);
+            if(likely(nlen + 1 + idlen <= MAX_INTERRUPT_NAME)) {
                 irr->name[nlen] = '_';
-                strncpyz(&irr->name[nlen + 1], irr->id, MAX_INTERRUPT_NAME - nlen);
+                strncpyz(&irr->name[nlen + 1], irr->id, MAX_INTERRUPT_NAME - nlen - 1);
+            }
+            else {
+                irr->name[MAX_INTERRUPT_NAME - idlen - 1] = '_';
+                strncpyz(&irr->name[MAX_INTERRUPT_NAME - idlen], irr->id, idlen);
             }
         }
         else {