diff --git a/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h b/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h index 80661835a6..7bce6d07c7 100644 --- a/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h +++ b/headers/private/kernel/disk_device_manager/KDiskDeviceUtils.h @@ -55,6 +55,30 @@ set_string(char *&location, const char *newValue) return error; } +// compare_string +/*! \brief \c NULL aware strcmp(). + + \c NULL is considered the least of all strings. \c NULL equals \c NULL. + + \param str1 First string. + \param str2 Second string. + \return A value less than 0, if \a str1 is less than \a str2, + 0, if they are equal, or a value greater than 0, if + \a str1 is greater \a str2. +*/ +static inline +int +compare_string(const char *str1, const char *str2) +{ + if (str1 == NULL) { + if (str2 == NULL) + return 0; + return 1; + } else if (str2 == NULL) + return -1; + return strcmp(str1, str2); +} + // locking