1

有一个关于在Linux内核代码中检查c string null的问题,能不能帮帮我,谢谢!

在 kobject.c 中,kobject_add_internal检查名称是否为 NULL:

if (!kobj->name || !kobj->name[0]) {
    WARN(1, "kobject: (%p): attempted to be registered with empty "
                               "name!\n", kobj);
    return -EINVAL;
}

为什么if(!kobje->name)还不够?

谢谢!

亲切的问候比尔

4

1 回答 1

3

!kobj->name当字符串为 NULL 时为真。

!kobj->name[0]当字符串为空时为真。AC 字符串以字符结尾0,因此当且仅当字符串的第一个字符为 时,字符串为空0

于 2013-04-22T11:53:27.690 回答