Arduino Calculator not working

int numData = 64;
boolean newData = false;
char dataReceived[64];
char tempData[64];
long number1 = 0;
char calSignal;
long number2 = 0;
long result;

void setup() {
  Serial.begin(9600);
}

void loop() {
  recvWithEndMarker();
  if (newData = true) {
    strcpy(tempData, dataReceived);
    parseData();
    doMaths();
    showResults();
    newData = false;
  }
}

void recvWithEndMarker() {
  //Made by Robin2
    static byte ndx = 0;
    char endMarker = '\n';
    char rc;
    
    while (Serial.available() > 0 && newData == false) {
        rc = Serial.read();

        if (rc != endMarker) {
            dataReceived[ndx] = rc;
            ndx++;
            if (ndx >= numData) {
                ndx = numData - 1;
            }
        }
        else {
            dataReceived[ndx] = '\0'; // terminate the string
            ndx = 0;
            newData = true;
        }
    }
}

void parseData() {
  char * strtokIndex;
  strtokIndex = strtok(tempData, " ");
  number1 = atol(strtokIndex);
  strtokIndex = strtok(NULL, " ");
  strcpy(calSignal, strtokIndex);
  strtokIndex = strtok(NULL, " ");
  number2 = atol(strtokIndex);
}

void doMaths() {
  if (calSignal == '+') {
    result = number1 + number2;
  }
  if (calSignal == '-') {
    result = number1 - number2;
  }
  if (calSignal == '*') {
    result = number1 * number2;
  }
  if (calSignal == '/') {
    result = number1 / number2;
  }
}

void showResults() {
  Serial.print("Result is = ");
  Serial.println(result);
}

Yeah... it didn't work. It keeps printing result = 0 over and over. I am pretty tired now