неправильное значение после вызова функции со ссылкой - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь использовать версию прошивки для создания имени файла, но получаю странные символы после вызова функции со ссылкой.

структура в globals.h

struct Versions {
  char* remoteVersion;
  char* currentVersion;
  char* newVersion;
  byte versionLength;
  int response;
};

в wifiFwUpdater.h

void getFirmwareVersion(Versions &v) {
  if (connect(hostConfig.host, hostConfig.port)) {
    get(hostConfig.host, hostConfig.port, hostConfig.pathVersionWiFi);
    parseResponseForVersion(v);
  }
}

void wifiUpdater() {
  Versions versions;
  versions.versionLength = 7;

  getFirmwareVersion(versions);
  Serial.print(F("Remote Firmware version: "));
  Serial.println(versions.remoteVersion);
  Serial.print(F("Response: "));
  Serial.println(versions.response);

  if (versions.response != 1) {
  ...

в client.h

void parseResponseForVersion(Versions &v) {
  char buf[v.versionLength];

  while (true) {
    if (client.available()) {
      if (!client.find("HTTP/1.1")) {
        v.response = 1;
        break;
      }

      int statusCode = client.parseInt();
      if (statusCode == 200 && client.find("\"version\" : \"")) {
        int l = client.readBytesUntil('"', buf, v.versionLength - 1);
        buf[l] = '\0';

        Serial.print("Content-1: ");
        Serial.println(buf);

        v.remoteVersion = buf;

        Serial.print("Content-2: ");
        Serial.println(v.remoteVersion);

        v.response = 1;
        client.stop();
        break;
      } else {
        client.stop();
        v.response = statusCode;
        break;
      }
    }

    if (!client.connected()) {
      client.stop();
      v.response = -1;
      break;
    }
  }
}

вывод

Content-1: 19.5.4
Content-2: 19.5.4
Remote Firmware version: 
Response: 1

Не вижу, в чем причина ошибки.Разрешено ли простое присваивание из массива char указателю char?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...