# HG changeset patch # User Tim Ringenbach # Date 1085526734 0 # Node ID 290a7213f9e43d7f43eee003a4d18d657dda1309 # Parent 350c6845c79274fb4f60a910639dc3290c4167e4 [gaim-migrate @ 9840] wing says this will fix some kind of blank yahoo mail notification bug. I don't use Yahoo mail, so I encourge people who do to test this, just in case. committer: Tailor Script diff -r 350c6845c792 -r 290a7213f9e4 src/protocols/yahoo/yahoo.c --- a/src/protocols/yahoo/yahoo.c Tue May 25 22:51:02 2004 +0000 +++ b/src/protocols/yahoo/yahoo.c Tue May 25 23:12:14 2004 +0000 @@ -911,10 +911,29 @@ for (p = text; p < end; p++, n++) { if (*p == '\\') { - k = 0; - sscanf(p + 1, "%3o%n\n", &i, &k); - *n = i; - p += k; + if (p[1] >= '0' && p[1] <= '7') { + p += 1; + for (i = 0, k = 0; k < 3; k += 1) { + char c = p[k]; + if (c < '0' || c > '7') break; + i *= 8; + i += c - '0'; + } + *n = i; + p += k - 1; + } else { /* bug 959248 */ + /* If we see a \ not followed by an octal number, + * it means that it is actually a \\ with one \ + * already eaten by some unknown function. + * This is arguably broken. + * + * I think wing is wrong here, there is no function + * called that I see that could have done it. I guess + * it is just really sending single \'s. That's yahoo + * for you. + */ + *n = *p; + } } else *n = *p;