SIM800H and Arduino

Hello,
I am experiencing some problems with arduino leonardo serial communication. I just can’t properly receive one at command response. I must send AT+CCLK? and receive line by line the response. When the current line has been processed, I just overwrite it in the array with the next one. I get this answer +CCLK: “YY/MM/DD.HH:MM:SS+TT” and TT is timezone correction, which I will not use and read. I have this code that in a very modified form worked before, but now I want it to read line and process it, then the next one.

Source code:

const long interval = 1000;
static long currentMillis;

byte searchcharpos = 0; //To determine where is the + in +CCLK in the char array

char serialdata[256]; //Array to store the chars before parsing

char rtcy1[3]; //Current year  Format: yy\0
char rtcm1[3]; //Current month  Format: mm\0
char rtcd1[3]; //Current day  Format: dd\0
char rtch1[3]; //Current hour  Format: hh\0
char rtcmm1[3]; //Current minute  Format: mm\0
char rtcs1[3]; //Current second  Format: ss\0

byte pointingfinger = 0;

char enabledtime = 0;

void setup() {
  Serial.begin(9600); //USB to Computer
  Serial1.begin(9600); //UART to Modem
  Serial1.print("ATE0\r"); //Disable echo
}

void loop() {
  delay(1000);
  if (enabledtime == 1) {
    if (Serial1.available () > 0) {

      
      
      if (serialdata[pointingfinger] == '+') {
        if (serialdata[pointingfinger + 1] == 'C' && serialdata[pointingfinger + 2] == 'C' && serialdata[pointingfinger + 3] == 'L' && serialdata[pointingfinger + 4] == 'K') {
          searchcharpos = pointingfinger;
        }
      }

      if (serialdata[pointingfinger] == '\n') {
        /*for (byte a = 0; a < 255; a = a + 1 ) {
          serialdata[a] = 0;
        }*/
        pointingfinger = 0;
        enabledtime = 0;
      }

      if (serialdata[pointingfinger] == '\r') {
        pointingfinger = 0;
        enabledtime = 0;
      }
serialdata[pointingfinger] = Serial1.read();
      serialdata[pointingfinger + 1] = 0;
      pointingfinger++;
    }
  }
  if (millis() - currentMillis >= interval) //This is done every second
  {
    Serial1.print("AT+CCLK?\r");
    rtcy1[0] = serialdata[searchcharpos + 8]; //getting first char with its offset
    rtcy1[1] = serialdata[searchcharpos + 9];
    rtcy1[2] = '\0';
    rtcm1[0] = serialdata[searchcharpos + 11];
    rtcm1[1] = serialdata[searchcharpos + 12];
    rtcm1[2] = '\0';
    rtcd1[0] = serialdata[searchcharpos + 14];
    rtcd1[1] = serialdata[searchcharpos + 15];
    rtcd1[2] = '\0';
    rtch1[0] = serialdata[searchcharpos + 17];
    rtch1[1] = serialdata[searchcharpos + 18];
    rtch1[2] = '\0';
    rtcmm1[0] = serialdata[searchcharpos + 20];
    rtcmm1[1] = serialdata[searchcharpos + 21];
    rtcmm1[2] = '\0';
    rtcs1[0] = serialdata[searchcharpos + 23];
    rtcs1[1] = serialdata[searchcharpos + 24];
    rtcs1[2] = '\0';
    Serial.println("=========");
    Serial.print(serialdata[searchcharpos]); //previously I had a for loop here, but I thought it was messing with the algorithm
    Serial.print(serialdata[searchcharpos + 1]);
    Serial.print(serialdata[searchcharpos + 2]);
    Serial.print(serialdata[searchcharpos + 3]);
    Serial.print(serialdata[searchcharpos + 4]);
    Serial.print(serialdata[searchcharpos + 5]);
    Serial.print(serialdata[searchcharpos + 6]);
    Serial.print(serialdata[searchcharpos + 7]);
    Serial.print(serialdata[searchcharpos + 8]);
    Serial.print(serialdata[searchcharpos + 9]);
    Serial.print(serialdata[searchcharpos + 10]);
    Serial.print(serialdata[searchcharpos + 11]);
    Serial.print(serialdata[searchcharpos + 12]);
    Serial.print(serialdata[searchcharpos + 13]);
    Serial.print(serialdata[searchcharpos + 14]);
    Serial.print ("=========");
    //Serial1.print("AT+CCLK?\r"); //ask for the time
    //delay(50);
    Serial.println("");
    Serial.println("=====");
    Serial.println(millis());

    Serial.println("YEAR: ");
    Serial.print(rtcy1[0]);
    Serial.println(rtcy1[1]);
    Serial.println("MONTH: ");
    Serial.print(rtcm1[0]);
    Serial.println(rtcm1[1]);
    Serial.println("DAY: ");
    Serial.print(rtcd1[0]);
    Serial.println(rtcd1[1]);
    Serial.println("HOUR: ");
    Serial.print(rtch1[0]);
    Serial.println(rtch1[1]);
    Serial.println("MINUTE: ");
    Serial.print(rtcmm1[0]);
    Serial.println(rtcmm1[1]);
    Serial.println("SECOND: ");
    Serial.print(rtcs1[0]);
    Serial.println(rtcs1[1]);

    enabledtime = 1;

    currentMillis = millis();
  }
}

And the output:

LK
DAY: 
 "
HOUR: 
4/
MINUTE: 
1/
SECOND: 
1,
=========

OK

+CCLK: =========
=====
123279
YEAR: 
+C
MONTH: 
LK
DAY: 
 "
HOUR: 
4/
MINUTE: 
1/
SECOND: 
1,
=========

OK

+CCLK: =========
=====
124281
YEAR: 
+C
MONTH: 
LK
DAY: 
 "
HOUR: 
4/
MINUTE: 
1/
SECOND: 
1,
=========

OK

+CCLK: =========
=====
125285
YEAR: 
+C
MONTH: 
LK
DAY: 
 "
HOUR: 
4/
MINUTE: 
1/
SECOND: 
1,
=========

OK

+CCLK: =========
=====
126287
YEAR: 
+C
MONTH: 
LK
DAY: 
 "
HOUR: 
4/
MINUTE: 
1/
SECOND: 
1,

I need your assistance with this!

Thanks in advance!