0002-addrdb-coord-config-parse.y-add-missing-time.h-inclu.patch 1.16 KB
From 8cc60d618f81f2eeaa926cd60ed9b55ee6cda6ea Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Mon, 8 Aug 2016 15:42:46 +0200
Subject: [PATCH] addrdb/coord-config-parse.y: add missing <time.h> include
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The %union definition uses the time_t structure. In order to use this
structure, the <time.h> header has to be included. Otherwise, the build
breaks with some C libraries, such as musl:

In file included from coord-config-lex.l:23:0:
coord-config-parse.y:107:2: error: unknown type name ‘time_t’
  time_t timestamp;
  ^

This patch includes <time.h> using the '%code requires' directive of
Yacc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 addrdb/coord-config-parse.y | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/addrdb/coord-config-parse.y b/addrdb/coord-config-parse.y
index 2e10a88..85ee058 100644
--- a/addrdb/coord-config-parse.y
+++ b/addrdb/coord-config-parse.y
@@ -102,6 +102,10 @@
 
 %}
 
+%code requires {
+#include <time.h>
+}
+
 %union {
 	unsigned long number;
 	time_t timestamp;
-- 
2.7.4