summaryrefslogtreecommitdiff
path: root/sysutils/libcdio/files/patch-lib_iso9660_iso9660.c
blob: 14321eeb1cb1e6567a21a1d541339f0620ef3283 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Fix build on GCC older than 4.6.0 which does not allow #pragma GCC diagnostic
inside of functions.

PR: 242693

--- lib/iso9660/iso9660.c.orig	2019-04-13 15:15:15 UTC
+++ lib/iso9660/iso9660.c
@@ -373,12 +373,18 @@ iso9660_set_ltime_with_timezone(const struct tm *p_tm,
 
   if (!p_tm) return;
 
+#if defined(__GNUC__) && __GNUC__ >= 5
+#pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wformat-truncation"
+#endif
   snprintf(_pvd_date, 17,
            "%4.4d%2.2d%2.2d" "%2.2d%2.2d%2.2d" "%2.2d",
            p_tm->tm_year + 1900, p_tm->tm_mon + 1, p_tm->tm_mday,
            p_tm->tm_hour, p_tm->tm_min, p_tm->tm_sec,
            0 /* 1/100 secs */ );
+#if defined(__GNUC__) && __GNUC__ >= 5
+#pragma GCC diagnostic pop
+#endif
 
   /* Set time zone in 15-minute interval encoding. */
   pvd_date->lt_gmtoff -= (time_zone / 15);