Mercurial > pidgin
comparison src/util.c @ 13643:68157ab4e1c9
[gaim-migrate @ 16041]
Ike Ginerich fixed gaim_markup_slice().
Looks like the way we were using it just happened to work, which explains how
I was sure I tested this and it worked and yet it was broken. Go figure.
committer: Tailor Script <tailor@pidgin.im>
author | Tim Ringenbach <marv@pidgin.im> |
---|---|
date | Sun, 16 Apr 2006 18:28:53 +0000 |
parents | 78c2c6a462d7 |
children | 073bc6da6403 |
comparison
equal
deleted
inserted
replaced
13642:c99d04f8a42b | 13643:68157ab4e1c9 |
---|---|
2119 tmp = g_strndup(str, end - str + 1); | 2119 tmp = g_strndup(str, end - str + 1); |
2120 g_queue_push_head(q, tmp); | 2120 g_queue_push_head(q, tmp); |
2121 /* z += 0; */ | 2121 /* z += 0; */ |
2122 } | 2122 } |
2123 | 2123 |
2124 if (z == x && !appended) { | 2124 if (z >= x) { |
2125 GList *l = q->tail; | |
2126 | |
2127 while (l) { | |
2128 tag = l->data; | |
2129 g_string_append(ret, tag); | |
2130 l = l->prev; | |
2131 } | |
2132 appended = TRUE; | |
2133 } else if (z >= x) { | |
2134 g_string_append_len(ret, str, end - str + 1); | 2125 g_string_append_len(ret, str, end - str + 1); |
2135 } | 2126 } |
2136 | 2127 |
2137 str = end; | 2128 str = end; |
2138 } else if (c == '&') { | 2129 } else if (c == '&') { |
2150 g_string_append_len(ret, str, end - str + 1); | 2141 g_string_append_len(ret, str, end - str + 1); |
2151 | 2142 |
2152 z++; | 2143 z++; |
2153 str = end; | 2144 str = end; |
2154 } else { | 2145 } else { |
2146 if (z == x && z > 0 && !appended) { | |
2147 GList *l = q->tail; | |
2148 | |
2149 while (l) { | |
2150 tag = l->data; | |
2151 g_string_append(ret, tag); | |
2152 l = l->prev; | |
2153 } | |
2154 appended = TRUE; | |
2155 } | |
2156 | |
2155 if (z >= x) | 2157 if (z >= x) |
2156 g_string_append_unichar(ret, c); | 2158 g_string_append_unichar(ret, c); |
2157 z++; | 2159 z++; |
2158 } | 2160 } |
2159 | 2161 |
2182 | 2184 |
2183 for (i = 1; tag[i]; i++) | 2185 for (i = 1; tag[i]; i++) |
2184 if (tag[i] == '>' || tag[i] == ' ' || tag[i] == '/') | 2186 if (tag[i] == '>' || tag[i] == ' ' || tag[i] == '/') |
2185 break; | 2187 break; |
2186 | 2188 |
2187 return g_strndup(tag, i); | 2189 return g_strndup(tag+1, i-1); |
2188 } | 2190 } |
2189 | 2191 |
2190 /************************************************************************** | 2192 /************************************************************************** |
2191 * Path/Filename Functions | 2193 * Path/Filename Functions |
2192 **************************************************************************/ | 2194 **************************************************************************/ |