MCPcopy Create free account
hub / github.com/F-Stack/f-stack / setifdescr

Function setifdescr

tools/ifconfig/ifconfig.c:1421–1454  ·  view source on GitHub ↗

ARGSUSED */

Source from the content-addressed store, hash-verified

1419
1420/* ARGSUSED */
1421static void
1422setifdescr(const char *val, int dummy __unused, int s,
1423 const struct afswtch *afp)
1424{
1425 char *newdescr;
1426
1427 strlcpy(ifr.ifr_name, name, sizeof(ifr.ifr_name));
1428
1429 ifr.ifr_buffer.length = strlen(val) + 1;
1430 if (ifr.ifr_buffer.length == 1) {
1431 ifr.ifr_buffer.buffer = newdescr = NULL;
1432 ifr.ifr_buffer.length = 0;
1433 } else {
1434 newdescr = strdup(val);
1435 ifr.ifr_buffer.buffer = newdescr;
1436 if (newdescr == NULL) {
1437 warn("no memory to set ifdescr");
1438 return;
1439 }
1440 }
1441
1442#ifdef FSTACK
1443 if (ifr.ifr_buffer.buffer != NULL) {
1444 size_t offset = (char *)&(ifr.ifr_buffer.buffer) - (char *)&(ifr);
1445 if (ioctl_va(s, SIOCSIFDESCR, (caddr_t)&ifr, 3, offset,
1446 ifr.ifr_buffer.buffer, ifr.ifr_buffer.length) < 0)
1447 err(1, "ioctl SIOCSIFDESCR (set descr)");
1448 } else
1449#endif
1450 if (ioctl(s, SIOCSIFDESCR, (caddr_t)&ifr) < 0)
1451 err(1, "ioctl SIOCSIFDESCR (set descr)");
1452
1453 free(newdescr);
1454}
1455
1456/* ARGSUSED */
1457static void

Callers 1

unsetifdescrFunction · 0.85

Calls 5

strdupFunction · 0.85
ioctl_vaFunction · 0.85
strlcpyFunction · 0.50
ioctlFunction · 0.50
freeFunction · 0.50

Tested by

no test coverage detected