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 **************************************************************************/