The passed `StringRef` can be empty, so we shouldn't pass it to
`BLI_strdupn` in this case.
If an empty string is passed to either `set` function
makes sure the previous `char *` is freed and set to `nullptr`.
Pull Request: https://projects.blender.org/blender/blender/pulls/133042