mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
Make strtosz() return int64_t instead of ssize_t
strtosz() needs to return a 64 bit type even on 32 bit architectures. Otherwise qemu-img will fail to create disk images >= 2GB Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
c90f1b3297
commit
70b4f4bb05
5 changed files with 10 additions and 10 deletions
8
cutils.c
8
cutils.c
|
@ -291,9 +291,9 @@ int fcntl_setfl(int fd, int flag)
|
|||
* value must be terminated by whitespace, ',' or '\0'. Return -1 on
|
||||
* error.
|
||||
*/
|
||||
ssize_t strtosz_suffix(const char *nptr, char **end, const char default_suffix)
|
||||
int64_t strtosz_suffix(const char *nptr, char **end, const char default_suffix)
|
||||
{
|
||||
ssize_t retval = -1;
|
||||
int64_t retval = -1;
|
||||
char *endptr, c, d;
|
||||
int mul_required = 0;
|
||||
double val, mul, integral, fraction;
|
||||
|
@ -365,7 +365,7 @@ ssize_t strtosz_suffix(const char *nptr, char **end, const char default_suffix)
|
|||
goto fail;
|
||||
}
|
||||
}
|
||||
if ((val * mul >= ~(size_t)0) || val < 0) {
|
||||
if ((val * mul >= INT64_MAX) || val < 0) {
|
||||
goto fail;
|
||||
}
|
||||
retval = val * mul;
|
||||
|
@ -378,7 +378,7 @@ fail:
|
|||
return retval;
|
||||
}
|
||||
|
||||
ssize_t strtosz(const char *nptr, char **end)
|
||||
int64_t strtosz(const char *nptr, char **end)
|
||||
{
|
||||
return strtosz_suffix(nptr, end, STRTOSZ_DEFSUFFIX_MB);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue