Sorry, it appears i was reading the error incorrect, the error was actually referring to param 3 of strtok_r, i had a char * var that it uses, and to get it to work i had to put a & infront of it (found within code off the internet), what does the & do when put infront of vars then?
and i want to use the strtok_r function to parse it
No, you don't. The strtok_r() function is the thread-safe version of strtok(). On a single threaded platform, why do you need the complexity and overhead of a thread-safe function? The strtok() function is far easier to use, too.
The strtok() function returns a pointer to a string. It is that string that you are storing in the EEPROM, not the integer that the string represents. You need to confirm that strtok() returned a valid pointer, and, if so, call atoi() with that string, and store the output in EEPROM. If, you are trying to read that string from EEPROM as an int, that is.