diff options
| -rw-r--r-- | plugins-root/check_dhcp.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/plugins-root/check_dhcp.c b/plugins-root/check_dhcp.c index b02ee49c..42eedec8 100644 --- a/plugins-root/check_dhcp.c +++ b/plugins-root/check_dhcp.c | |||
| @@ -372,11 +372,16 @@ int get_hardware_address(int sock,char *interface_name){ | |||
| 372 | char *p; | 372 | char *p; |
| 373 | int unit; | 373 | int unit; |
| 374 | 374 | ||
| 375 | for(p = interface_name; *p && isalpha(*p); p++) | 375 | /* get last number from interfacename, eg lnc0, e1000g0*/ |
| 376 | /* no-op */ ; | 376 | int i; |
| 377 | if( p != '\0' ){ | 377 | p = interface_name + strlen(interface_name) -1; |
| 378 | for(i = strlen(interface_name) -1; i > 0; p--) { | ||
| 379 | if(isalpha(*p)) | ||
| 380 | break; | ||
| 381 | } | ||
| 382 | p++; | ||
| 383 | if( p != interface_name ){ | ||
| 378 | unit = atoi(p) ; | 384 | unit = atoi(p) ; |
| 379 | *p = '\0' ; | ||
| 380 | strncat(dev, interface_name, 6) ; | 385 | strncat(dev, interface_name, 6) ; |
| 381 | } | 386 | } |
| 382 | else{ | 387 | else{ |
