Leonardo + ehternet shield & reading analog pins

Does any one have experience of reading all the analog pins on a Leonardo when there is an ethernet shield connected??

I currently have a sketch which needs more analog inputs than the 6 on the UNO but I need to have the Ethernet shield attached for webserver functions. As the shield will be using pins 4 and 10 as CS lines for the Ethernet and SD card I'm wondering if the shield will be upset if I inadvertently do an analog read on these shared analog/digital I/O pins.

I did look at multiplexer chips like the MC14051 family to up the number of analog lines but there is not room on the mother board where everything will be mounted to go down that route.

I'm wondering if the shield will be upset if I inadvertently do an analog read on these shared analog/digital I/O pins.

Pins 4 and 10 are digital pins only. You can't do an analogRead() on them. And, even if you could, they are being used as outputs, so you couldn't possibly use them as inputs.

On the hardware page of the web site digital pins 4 & 10 are also analog A6 and A11 respectively which means that with out the Ethernet shield you can do an 'analogRead(6)' and 'analogRead(11)' on them. What I'm trying to establish is once those two have been set to OUTPUT with pinMode can I simply read all the analog pins in a for loop. eg

void GetReadings() // this routine creates logarithmic averaging of the binary numbers off the D/A converters
{
for (byte i =0; i <=11; i++){
readings = readings - (readings*>>4 ) + analogRead(i); // read from the sensors & put new info in:*
* }//end for (add up readings)*
}
I know the readings from analog A6 an A11 will be nonsense but would this simplistic approach cause problems? or do i have to actively skip past these pins with something like the following?
void GetReadings() // this routine creates logarithmic averaging of the binary numbers off the D/A converters
{
for (byte i =0; i <=10; i++){
if (i !=6) readings = readings - (readings*>>4 ) + analogRead(i); // read from the sensors & put new info in:*
* }//end for/if (add up readings)*
}

A pin can be an analog pin OR a digital pin. If it is being used as a digital pin, by the Ethernet shield, it can NOT be used as an analog pin. Is that too hard to understand?

know the readings from analog A6 an A11 will be nonsense

So, don't read them. Attempting to read them WILL interfere with the Ethernet shield.

Put the pins that CAN be used in an array, and reference the pin numbers in the array.

Keep in mind that the alias A0 and the value associated with it are not the same on all boards. Using the numeric value, as you are in your improperly posted snippet, is not the proper way to read the analog pins above 5.