diff options
author | monsta <[email protected]> | 2018-04-26 15:39:02 +0300 |
---|---|---|
committer | monsta <[email protected]> | 2018-04-29 14:58:00 +0300 |
commit | b5ee89d73beed8005e26a26a699f04e7c3a280ec (patch) | |
tree | e7cbceec6fdcf10a8c42f8ff556be6d732a3f390 | |
parent | 9c385a384ff5d1de4d0ae0ec7f49e35027c05aae (diff) | |
download | libmateweather-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.c | 10 |
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); |