AWOL:
char sp_ir8[][32] = { "TV", "00x1acb", "04x74gx" };Serial.print (sp_ir8[0][0]); should print 'T'.
Serial.print (sp_ir8[0]); should print "TV"
Serial.print (&sp_ir8[0][0]); should print "TV"..
The problem is that "sp_ir8" is not known since this Serial output command is in a foreach run. "sp_sw3", "sp_sw4", "sp_ir8" and any other declared in the config (check var "sp_active") at the top need to go trough this foreach run.
I get the feeling that it pastes the outcome of "sp_check" as plain text. However; this plain text ("sp_sw3", "sp_sw4", "sp_ir8") should then be turned into the var name of the array to call for its information. (In case of "sp_ir8": label "TV" and IR code for 'turn on' "00x1abc").