Mercurial > pidgin.yaz
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 |
