Mercurial > pidgin
comparison libpurple/plugins/log_reader.c @ 20910:54d232b52607
Since we are looking at the return value of fread, it actually matters that
we use the correct values for the size of a single data item and the number
of items to read.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Fri, 12 Oct 2007 22:26:44 +0000 |
parents | feca1fd51b57 |
children | b2b16843851b |
comparison
equal
deleted
inserted
replaced
20909:feca1fd51b57 | 20910:54d232b52607 |
---|---|
125 if (!handle) { | 125 if (!handle) { |
126 g_free(filename); | 126 g_free(filename); |
127 continue; | 127 continue; |
128 } | 128 } |
129 | 129 |
130 rd = fread(contents, 56, 1, handle) == 0; | 130 rd = fread(contents, 1, 56, handle) == 0; |
131 fclose(handle); | 131 fclose(handle); |
132 contents[rd] = '\0'; | 132 contents[rd] = '\0'; |
133 | 133 |
134 /* XXX: This is fairly inflexible. */ | 134 /* XXX: This is fairly inflexible. */ |
135 contents2 = contents; | 135 contents2 = contents; |
187 if (!handle) { | 187 if (!handle) { |
188 g_free(filename); | 188 g_free(filename); |
189 continue; | 189 continue; |
190 } | 190 } |
191 | 191 |
192 rd = fread(contents, 13, 1, handle); | 192 rd = fread(contents, 1, 13, handle); |
193 fclose(handle); | 193 fclose(handle); |
194 contents[rd] = '\0'; | 194 contents[rd] = '\0'; |
195 | 195 |
196 contents2 = contents; | 196 contents2 = contents; |
197 while (*contents2 && *contents2 != '(') | 197 while (*contents2 && *contents2 != '(') |
1421 | 1421 |
1422 read = g_malloc(data->length + 2); | 1422 read = g_malloc(data->length + 2); |
1423 | 1423 |
1424 file = g_fopen(data->path, "rb"); | 1424 file = g_fopen(data->path, "rb"); |
1425 fseek(file, data->offset, SEEK_SET); | 1425 fseek(file, data->offset, SEEK_SET); |
1426 data->length = fread(read, data->length, 1, file); | 1426 data->length = fread(read, 1, data->length, file); |
1427 fclose(file); | 1427 fclose(file); |
1428 | 1428 |
1429 if (read[data->length-1] == '\n') { | 1429 if (read[data->length-1] == '\n') { |
1430 read[data->length] = '\0'; | 1430 read[data->length] = '\0'; |
1431 } else { | 1431 } else { |
1920 g_return_val_if_fail(file != NULL, g_strdup("")); | 1920 g_return_val_if_fail(file != NULL, g_strdup("")); |
1921 | 1921 |
1922 contents = g_malloc(data->length + 2); | 1922 contents = g_malloc(data->length + 2); |
1923 | 1923 |
1924 fseek(file, data->offset, SEEK_SET); | 1924 fseek(file, data->offset, SEEK_SET); |
1925 data->length = fread(contents, data->length, 1, file); | 1925 data->length = fread(contents, 1, data->length, file); |
1926 fclose(file); | 1926 fclose(file); |
1927 | 1927 |
1928 contents[data->length] = '\n'; | 1928 contents[data->length] = '\n'; |
1929 contents[data->length + 1] = '\0'; | 1929 contents[data->length + 1] = '\0'; |
1930 | 1930 |
2304 | 2304 |
2305 file = g_fopen(data->path, "rb"); | 2305 file = g_fopen(data->path, "rb"); |
2306 g_return_val_if_fail(file != NULL, g_strdup("")); | 2306 g_return_val_if_fail(file != NULL, g_strdup("")); |
2307 | 2307 |
2308 fseek(file, data->offset, SEEK_SET); | 2308 fseek(file, data->offset, SEEK_SET); |
2309 data->length = fread(contents, data->length, 1, file); | 2309 data->length = fread(contents, 1, data->length, file); |
2310 fclose(file); | 2310 fclose(file); |
2311 | 2311 |
2312 contents[data->length] = '\n'; | 2312 contents[data->length] = '\n'; |
2313 contents[data->length + 1] = '\0'; | 2313 contents[data->length + 1] = '\0'; |
2314 | 2314 |