* Lese einen String aus dem Empfangspuffer. Der Empfangspuffer wird anschliessend * um die Stringlaenge + 1 Zeichen (Trenn-Leerzeichen) gekuerzt. * * Ist der Parameter len = 0 (oder fehlt ganz), dann wird der naechste verfuegbare String * ausgelesen. Ist len > 0, dann werden genau len Zeichen gelesen. */
| 601 | * ausgelesen. Ist len > 0, dann werden genau len Zeichen gelesen. |
| 602 | */ |
| 603 | std::string decodeString(std::string* rxData, UINT16 len) |
| 604 | { |
| 605 | std::string text; |
| 606 | |
| 607 | // String extrahieren |
| 608 | if (len == 0) |
| 609 | { |
| 610 | // Keine spezielle Laenge gewuenscht. |
| 611 | text = colaa::getNextStringToken(rxData); |
| 612 | } |
| 613 | else |
| 614 | { |
| 615 | // String bekannter Laenge ausschneiden |
| 616 | text = rxData->substr(0, len); |
| 617 | // Eingangsstring kuerzen |
| 618 | *rxData = rxData->substr(len + 1); |
| 619 | } |
| 620 | |
| 621 | return text; |
| 622 | } |
| 623 | |
| 624 | // |
| 625 | // Lese einen UINT16-Wert aus dem Empfangspuffer. |
no test coverage detected