char *str is the string to be scanned.
The name-value pairs in the string can have the format name=value or name="value."
All backslashes (\\) must be followed by a literal character. If string values are found with no unescaped = signs (no name=), it assumes the names 1, 2, 3, and so on, depending on the string position. For example, if pblock_str2pblock finds "some strings together," the function treats the strings as if they appeared in name-value pairs as 1="some" 2="strings" 3="together."
pblock *pb is the pblock into which the name-value pairs are stored.