Arduino blink

The blink without delay code doesn't seem to be working properly..need help!
int led=8;
long currmills;
long prevmills;
long duration=1000;
int state;
void setup() {
// put your setup code here, to run once:
pinMode(led,OUTPUT);
Serial.begin(9600);
prevmills=0;
digitalWrite(led,LOW);

}

void loop() {
currmills=millis();
if(currmills - prevmills >=duration)
{
prevmills=currmills;
if(led==LOW)
state=HIGH;
else
state=LOW;
digitalWrite(led,state);
Serial.println(state);

}
}

By not working..i mean the serial monitor shows that the led is always low!!

Does the led blink?

Nope..it doesnt!

  if(led==LOW)

led is a variable that appears to hold the pin value. You should be comparing your state variable. A more descriptive name like ledPin would have made this error more obvious.

Your timing variables should also be unsigned long.

Bad mistake..thanks for pointing that out!