* Remove all with matching name */
| 942 | * Remove all with matching name |
| 943 | */ |
| 944 | int |
| 945 | nvlist_remove_all(nvlist_t *nvl, const char *name) |
| 946 | { |
| 947 | int error = ENOENT; |
| 948 | |
| 949 | if (nvl == NULL || name == NULL || nvl->nvl_priv == 0) |
| 950 | return (EINVAL); |
| 951 | |
| 952 | nvpair_t *nvp; |
| 953 | while ((nvp = nvt_lookup_name(nvl, name)) != NULL) { |
| 954 | VERIFY0(nvlist_remove_nvpair(nvl, nvp)); |
| 955 | error = 0; |
| 956 | } |
| 957 | |
| 958 | return (error); |
| 959 | } |
| 960 | |
| 961 | /* |
| 962 | * Remove first one with matching name and type |
no test coverage detected