Fix integer size issue on 32-bit platforms

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
This commit is contained in:
Stephen Gallagher 2020-11-20 16:37:55 -05:00
parent c50987c78d
commit 5b0762224f
No known key found for this signature in database
GPG Key ID: 45DB85A568286D11
2 changed files with 113 additions and 1 deletions

View File

@ -0,0 +1,108 @@
From 3b77fdc0ee3c74d258d0a92f7ae0e8354239d8ee Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgallagh@redhat.com>
Date: Fri, 20 Nov 2020 15:52:27 -0500
Subject: [PATCH] Fix integer size issue on 32-bit platforms
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
---
modulemd/modulemd-module.c | 6 +++---
modulemd/modulemd-obsoletes.c | 7 ++++---
modulemd/modulemd-util.c | 2 +-
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/modulemd/modulemd-module.c b/modulemd/modulemd-module.c
index 8cc79952a209392a1e51ecf61145499207e58e4c..1b1ee71eaf01d0ab53dcfa839fda1177d73a5628 100644
--- a/modulemd/modulemd-module.c
+++ b/modulemd/modulemd-module.c
@@ -875,12 +875,12 @@ modulemd_module_add_obsoletes (ModulemdModule *self,
modulemd_obsoletes_get_module_context (temp_obsoletes)))
{
continue;
}
g_info (
- "Overriding existing obsolete because of idenical stream: %s, "
- "context: %s and modified time: %lu.",
+ "Overriding existing obsolete because of identical stream: %s, "
+ "context: %s and modified time: %" PRIu64 ".",
modulemd_obsoletes_get_module_stream (obsoletes),
modulemd_obsoletes_get_module_context (obsoletes),
modulemd_obsoletes_get_modified (obsoletes));
g_ptr_array_remove (self->obsoletes, temp_obsoletes);
break;
@@ -965,11 +965,11 @@ modulemd_module_add_obsoletes (ModulemdModule *self,
current_obsoletes))
{
g_info (
"Multiple obsoletes for module: %s, stream: %s, context: "
"%s "
- "with identical modified time: %lu",
+ "with identical modified time: %" PRIu64,
modulemd_module_get_module_name (self),
stream_str,
context_str,
new_obsoletes_mod);
}
diff --git a/modulemd/modulemd-obsoletes.c b/modulemd/modulemd-obsoletes.c
index 46bbc435309542208ddb3d45fca5c95fe07651d4..ceb7682d423a99f129aae401d9dfd40349c3320e 100644
--- a/modulemd/modulemd-obsoletes.c
+++ b/modulemd/modulemd-obsoletes.c
@@ -1090,11 +1090,11 @@ modulemd_obsoletes_emit_yaml (ModulemdObsoletes *self,
{
g_set_error (
error,
MODULEMD_ERROR,
MMD_ERROR_VALIDATE,
- "Cannot convert modified date: %lu to iso8601 date.",
+ "Cannot convert modified date: %" PRIu64 " to iso8601 date.",
modulemd_obsoletes_get_modified (MODULEMD_OBSOLETES (self)));
return FALSE;
}
if (!mmd_emitter_scalar (
emitter, modified_string, YAML_PLAIN_SCALAR_STYLE, error))
@@ -1164,11 +1164,12 @@ modulemd_obsoletes_emit_yaml (ModulemdObsoletes *self,
if (eol_date_string == NULL)
{
g_set_error (error,
MODULEMD_ERROR,
MMD_ERROR_VALIDATE,
- "Cannot convert eol_date: %lu to iso8601 date.",
+ "Cannot convert eol_date: %" PRIu64
+ " to iso8601 date.",
eol_date);
return FALSE;
}
EMIT_KEY_VALUE (emitter, error, "eol_date", eol_date_string);
}
@@ -1229,11 +1230,11 @@ modulemd_obsoletes_is_active (ModulemdObsoletes *self)
time (&rawtime);
tm = gmtime (&rawtime);
char buf[255];
strftime (buf, sizeof (buf), "%Y%m%d%H%M", tm);
- guint64 now = atol (buf);
+ guint64 now = g_ascii_strtoull (buf, NULL, 0);
if (now >= modulemd_obsoletes_get_eol_date (self))
{
return TRUE;
}
diff --git a/modulemd/modulemd-util.c b/modulemd/modulemd-util.c
index 2a50bb598e53da707bfc0a6acc1d68d1dd4213ab..7c4c891e8c65b7d83e34880b16a08a2fcb80e49e 100644
--- a/modulemd/modulemd-util.c
+++ b/modulemd/modulemd-util.c
@@ -519,11 +519,11 @@ modulemd_iso8601date_to_guint64 (const gchar *iso8601)
}
char buf[32];
strftime (buf, sizeof (buf), "%Y%m%d%H%M", &tm);
- return atol (buf);
+ return g_ascii_strtoull (buf, NULL, 0);
}
gchar *
modulemd_guint64_to_iso8601date (guint64 date)
--
2.28.0

View File

@ -14,7 +14,7 @@
Name: %{upstream_name}%{?v2_suffix}
Version: 2.10.0
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Module metadata manipulation library
License: MIT
@ -42,6 +42,7 @@ BuildRequires: help2man
# Patches
Patch0001: 0001-Fix-integer-size-issue-on-32-bit-platforms.patch
%description
@ -163,6 +164,9 @@ mv %{buildroot}%{_mandir}/man1/modulemd-validator.1 \
%changelog
* Fri Nov 20 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.10.0-2
- Fix integer size issue on 32-bit platforms
* Fri Nov 20 2020 Stephen Gallagher <sgallagh@redhat.com> - 2.10.0-1
- Release 2.10.0
- https://github.com/fedora-modularity/libmodulemd/releases/tag/libmodulemd-2.10.0