Renderer, ...: use PixelRect::GetCenter()
[xcsoar.git] / test / src / AddChecksum.cpp
blob7d616f4e06a4f36701c317e5a3576c2c295939bc
1 /* Copyright_License {
3 XCSoar Glide Computer - http://www.xcsoar.org/
4 Copyright (C) 2000-2013 The XCSoar Project
5 A detailed list of copyright holders can be found in the file "AUTHORS".
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 * Reads input from stdin, calculates the NMEA checksum, and prints
25 * the lines with a correct checksum to stdout.
29 #include "NMEA/Checksum.hpp"
31 #include <stdio.h>
32 #include <string.h>
34 int
35 main(int argc, char **argv)
37 char buffer[1024];
39 const char *start = buffer;
40 while ((start = fgets(buffer, sizeof(buffer) - 3, stdin)) != NULL) {
41 const char *end = strchr(start, '*');
42 if (end == NULL) {
43 end = start + strlen(start);
44 while (end > start && (end[-1] == '\n' || end[-1] == '\r'))
45 --end;
48 printf("%.*s*%02x\n", (int)(end - buffer), buffer,
49 NMEAChecksum(start, end - start));
52 return 0;