Tried doing someting like this, but I do not think it does anything at this point?
int ipA_READ = EEPROM.read( ip[0] );
int ipB_READ = EEPROM.read( ip[1] );
int ipC_READ = EEPROM.read( ip[2] );
int ipD_READ = EEPROM.read( ip[3] );
int subnetA_READ = EEPROM.read( subnet[0] );
int subnetB_READ = EEPROM.read( subnet[1] );
int subnetC_READ = EEPROM.read( subnet[2] );
int subnetD_READ = EEPROM.read( subnet[3] );
int gwA_READ = EEPROM.read( gateway[0] );
int gwB_READ = EEPROM.read( gateway[1] );
int gwC_READ = EEPROM.read( gateway[2] );
int gwD_READ = EEPROM.read( gateway[3] );
 //if default IP address is not set then overwrite???
 // would need to be if LAST IP address set is different
 if ( ip[0] != 172 ) {
   EEPROM.write( ip[0], ipA );
 }
 if ( ip[1] != 31 ) {
   EEPROM.write( ip[1], ipB );
 }
 if ( ip[2] != 1 ) {
   EEPROM.write( ip[2], ipC );
 }  Â
 if ( ip[3] != 50 ) {
   EEPROM.write( ip[3], ipD );
 }
Â
 if ( subnet[0] != 255 ) {
   EEPROM.write( subnet[0], subnetA );
 }
 if ( subnet[1] != 255 ) {
   EEPROM.write( subnet[1], subnetB );
 }
 if ( subnet[2] != 255 ) {
   EEPROM.write( subnet[2], subnetC );
 }  Â
 if ( subnet[3] != 0 ) {
   EEPROM.write( subnet[3], subnetD );
 }
Â
 if ( gateway[0] != 172 ) {
   EEPROM.write( gateway[0], gwA );
 }
 if ( gateway[1] != 31 ) {
   EEPROM.write( gateway[1], gwB );
 }
 if ( gateway[2] != 1 ) {
   EEPROM.write( gateway[2], gwC );
 }  Â
 if ( gateway[3] != 1 ) {
   EEPROM.write( gateway[3], gwD );
 }
To be continued and ideas most welcome...