Explicit state assignments in ecdsa too
diff --git a/library/ecdsa.c b/library/ecdsa.c
index 73389bb..981846b 100644
--- a/library/ecdsa.c
+++ b/library/ecdsa.c
@@ -307,9 +307,7 @@
 
 #if defined(MBEDTLS_ECP_RESTARTABLE)
             if( rs_ctx != NULL && rs_ctx->sig != NULL )
-            {
-                rs_ctx->sig->state++;
-            }
+                rs_ctx->sig->state = ecdsa_sig_mul;
 
 mul:
 #endif
@@ -321,7 +319,7 @@
 
 #if defined(MBEDTLS_ECP_RESTARTABLE)
         if( rs_ctx != NULL && rs_ctx->sig != NULL )
-            rs_ctx->sig->state++;
+            rs_ctx->sig->state = ecdsa_sig_modn;
 
 modn:
 #endif
@@ -426,7 +424,7 @@
 
 #if defined(MBEDTLS_ECP_RESTARTABLE)
     if( rs_ctx != NULL && rs_ctx->det != NULL )
-        rs_ctx->det->state++;
+        rs_ctx->det->state = ecdsa_det_sign;
 
 sign:
 #endif
@@ -521,7 +519,7 @@
 
 #if defined(MBEDTLS_ECP_RESTARTABLE)
     if( rs_ctx != NULL && rs_ctx->ver != NULL )
-        rs_ctx->ver->state++;
+        rs_ctx->ver->state = ecdsa_ver_muladd;
 
 muladd:
 #endif