libpurple/plugins/log_reader.c

branch
release-2.2.2
changeset 20224
d4b827c606db
parent 20221
28e31ee832cd
child 20234
272ffbb581b0
child 20973
b365fdeae9d0
equal deleted inserted replaced
20223:166974ab9071 20224:d4b827c606db
1937 data = log->logger_data; 1937 data = log->logger_data;
1938 1938
1939 g_return_val_if_fail(data->path != NULL, g_strdup("")); 1939 g_return_val_if_fail(data->path != NULL, g_strdup(""));
1940 g_return_val_if_fail(data->length > 0, g_strdup("")); 1940 g_return_val_if_fail(data->length > 0, g_strdup(""));
1941 1941
1942 error = NULL;
1943
1944 contents = g_malloc(data->length + 2);
1945
1946 file = g_fopen(data->path, "rb"); 1942 file = g_fopen(data->path, "rb");
1947 g_return_val_if_fail(file != NULL, g_strdup("")); 1943 g_return_val_if_fail(file != NULL, g_strdup(""));
1948 1944
1945 contents = g_malloc(data->length + 2);
1946
1949 fseek(file, data->offset, SEEK_SET); 1947 fseek(file, data->offset, SEEK_SET);
1950 fread(contents, data->length, 1, file); 1948 fread(contents, data->length, 1, file);
1951 fclose(file); 1949 fclose(file);
1952 1950
1953 contents[data->length] = '\n'; 1951 contents[data->length] = '\n';
2024 "(%u:%02u:%02u) %cM ", hour % 12, 2022 "(%u:%02u:%02u) %cM ", hour % 12,
2025 min, sec, (hour >= 12) ? 'P': 'A'); 2023 min, sec, (hour >= 12) ? 'P': 'A');
2026 g_string_append(formatted, "</font> "); 2024 g_string_append(formatted, "</font> ");
2027 2025
2028 if (is_in_message) { 2026 if (is_in_message) {
2029 if (buddy_name != NULL && buddy->alias) { 2027 if (buddy_name != NULL && buddy != NULL && buddy->alias) {
2030 g_string_append_printf(formatted, 2028 g_string_append_printf(formatted,
2031 "<span style=\"color: #A82F2F;\">" 2029 "<span style=\"color: #A82F2F;\">"
2032 "<b>%s</b></span>: ", buddy->alias); 2030 "<b>%s</b></span>: ", buddy->alias);
2033 } 2031 }
2034 } else { 2032 } else {
2054 if (line[0] != '\n' && line[0] != '\r') { 2052 if (line[0] != '\n' && line[0] != '\r') {
2055 2053
2056 g_string_append(formatted, line); 2054 g_string_append(formatted, line);
2057 g_string_append(formatted, "<br>"); 2055 g_string_append(formatted, "<br>");
2058 } 2056 }
2059 line = ++c; 2057
2058 if (c)
2059 line = ++c;
2060 } 2060 }
2061 } 2061 }
2062 g_free(contents); 2062 g_free(contents);
2063 2063
2064 /* XXX: TODO: Avoid this g_strchomp() */ 2064 /* XXX: TODO: Avoid this g_strchomp() */

mercurial