Accept -1 for the data length if the data is a null-terminated string. Bug

2008-01-20  Murray Cumming  <murrayc@murrayc.com>

        * glib/gchecksum.c: (g_checksum_update): Accept -1 for the data 
        length if the data is a null-terminated string. Bug #510855.

svn path=/trunk/; revision=6340
This commit is contained in:
Murray Cumming 2008-01-21 13:11:13 +00:00 committed by Murray Cumming
parent 6aaab07e0f
commit 5fbfef4cb7
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2008-01-20 Murray Cumming <murrayc@murrayc.com>
* glib/gchecksum.c: (g_checksum_update): Accept -1 for the data
length if the data is a null-terminated string. Bug #510855.
2008-01-21 Alexander Larsson <alexl@redhat.com>
* configure.in:

View File

@ -1187,7 +1187,7 @@ g_checksum_free (GChecksum *checksum)
* g_checksum_update:
* @checksum: a #GChecksum
* @data: buffer used to compute the checksum
* @length: size of the buffer
* @length: size of the buffer, or -1 if it is a null-terminated string.
*
* Feeds @data into an existing #GChecksum. The checksum must still be
* open, that is g_checksum_get_string() or g_checksum_get_digest() must
@ -1203,6 +1203,9 @@ g_checksum_update (GChecksum *checksum,
g_return_if_fail (checksum != NULL);
g_return_if_fail (data != NULL);
if (length < 0)
length = strlen (data);
if (checksum->digest_str)
{
g_warning ("The checksum `%s' has been closed and cannot be updated "
@ -1387,7 +1390,7 @@ g_compute_checksum_for_data (GChecksumType checksum_type,
* g_compute_checksum_for_string:
* @checksum_type: a #GChecksumType
* @str: the string to compute the checksum of
* @length: the length of the string, or -1
* @length: the length of the string, or -1 if the string is null-terminated.
*
* Computes the checksum of a string.
*