The problem is here:
str_pointer = str_create("NULL");

Basically, if you work with Unicode, you can´t simply define any string directly in c or h files. You have to read all strings from textfiles, even for comparisons. Think about it: You try to compare ASCII with unicode, this won´t work.

Solution: Read "NULL" from a unicode textfile into str_pointer.


no science involved