summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
9137c58)
Simply play with length.
Furthermore, this character belongs to a string owned
by other part of software.
static size_t curl_get_etag_func(void *ptr, size_t size, size_t nmemb, gchar **stream)
{
static size_t curl_get_etag_func(void *ptr, size_t size, size_t nmemb, gchar **stream)
{
+#define ETAG_KEYWORD "ETag: "
+#define ETAG_LEN (sizeof(ETAG_KEYWORD)-1)
- char *str = g_strstr_len(ptr, len, "ETag:");
+ char *str = g_strstr_len(ptr, len, ETAG_KEYWORD);
- char *etag_str = str + strlen("ETag: ");
- char *end_str = g_strstr_len(etag_str, len, "\n");
+ char *etag_str = str + ETAG_LEN;
+ char *end_str = g_strstr_len(etag_str, len - ETAG_LEN, "\r\n");
if (etag_str && end_str) {
if (etag_str && end_str) {
- end_str = '\0';
- *stream = g_strndup(etag_str, len);
+ *stream = g_strndup(etag_str, end_str - etag_str);
+ g_debug("%s: ETAG found: %s", __FUNCTION__, *stream);