strcpy(tempSlaveChars, receivedSlaveChars);// this temporary copy is necessary to protect the original data because strtok() used in parseData() replaces the commas with \0
So what if strtok() destroys the array? You never use its contents again, so the copy is unnecessary.
I know that Robin2 put that in the example, because there was a possibility that someone would need the array intact after parsing, but you are SUPPOSED to think when you steal code.