summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonsta <[email protected]>2018-04-26 15:39:02 +0300
committermonsta <[email protected]>2018-04-29 14:58:00 +0300
commitb5ee89d73beed8005e26a26a699f04e7c3a280ec (patch)
treee7cbceec6fdcf10a8c42f8ff556be6d732a3f390
parent9c385a384ff5d1de4d0ae0ec7f49e35027c05aae (diff)
downloadlibmateweather-b5ee89d73beed8005e26a26a699f04e7c3a280ec.tar.bz2
libmateweather-b5ee89d73beed8005e26a26a699f04e7c3a280ec.tar.xz
metar: fix searching for string to parse
it needs correction after c1b71893ec34a2d0ea8f85ce7f30f536f8582123
-rw-r--r--libmateweather/weather-metar.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libmateweather/weather-metar.c b/libmateweather/weather-metar.c
index 89a1eb7..1185037 100644
--- a/libmateweather/weather-metar.c
+++ b/libmateweather/weather-metar.c
@@ -490,7 +490,7 @@ metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
{
WeatherInfo *info = (WeatherInfo *)data;
WeatherLocation *loc;
- const gchar *p, *eoln;
+ const gchar *p, *endtag;
gchar *searchkey, *metar;
gboolean success = FALSE;
@@ -514,10 +514,10 @@ metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
p = strstr (msg->response_body->data, searchkey);
g_free (searchkey);
if (p) {
- p += WEATHER_LOCATION_CODE_LEN + 2;
- eoln = strchr(p, '\n');
- if (eoln)
- metar = g_strndup (p, eoln - p);
+ p += WEATHER_LOCATION_CODE_LEN + 11;
+ endtag = strstr (p, "</raw_text>");
+ if (endtag)
+ metar = g_strndup (p, endtag - p);
else
metar = g_strdup (p);
success = metar_parse (metar, info);