emit: Optionally pass a conf_fprintf struct to type_emissions__init

For later to use it to toggle some features, such as emitting the
atomic_ types as _Atomic typedefs.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --git a/ctracer.c b/ctracer.c
index 8d6eac8..cb7e81f 100644
--- a/ctracer.c
+++ b/ctracer.c
@@ -960,7 +960,7 @@
 		goto out;
 	}
 
-	type_emissions__init(&emissions);
+	type_emissions__init(&emissions, NULL);
 
         /*
          * Create the methods_cus (Compilation Units) object where we will
diff --git a/dwarves_emit.c b/dwarves_emit.c
index 04b3de4..ce252c9 100644
--- a/dwarves_emit.c
+++ b/dwarves_emit.c
@@ -13,11 +13,12 @@
 #include "dwarves_emit.h"
 #include "dwarves.h"
 
-void type_emissions__init(struct type_emissions *emissions)
+void type_emissions__init(struct type_emissions *emissions, struct conf_fprintf *conf_fprintf)
 {
 	INIT_LIST_HEAD(&emissions->base_type_definitions);
 	INIT_LIST_HEAD(&emissions->definitions);
 	INIT_LIST_HEAD(&emissions->fwd_decls);
+	emissions->conf_fprintf = conf_fprintf;
 }
 
 static void type_emissions__add_definition(struct type_emissions *emissions,
diff --git a/dwarves_emit.h b/dwarves_emit.h
index 58af2dd..6022bee 100644
--- a/dwarves_emit.h
+++ b/dwarves_emit.h
@@ -16,14 +16,16 @@
 struct ftype;
 struct tag;
 struct type;
+struct conf_fprintf;
 
 struct type_emissions {
 	struct list_head definitions; /* struct type entries */
 	struct list_head base_type_definitions; /* struct base_type entries */
 	struct list_head fwd_decls;   /* struct class entries */
+	struct conf_fprintf *conf_fprintf;
 };
 
-void type_emissions__init(struct type_emissions *temissions);
+void type_emissions__init(struct type_emissions *temissions, struct conf_fprintf *conf_fprintf);
 
 int ftype__emit_definitions(struct ftype *ftype, struct cu *cu,
 			    struct type_emissions *emissions, FILE *fp);
diff --git a/pahole.c b/pahole.c
index 4636f01..8261171 100644
--- a/pahole.c
+++ b/pahole.c
@@ -1716,7 +1716,7 @@
 	// case 'Z': ctf_encode = 1;			break; // FIXME: Disabled
 	case ARGP_compile:
 		  compilable = true;
-                  type_emissions__init(&emissions);
+                  type_emissions__init(&emissions, &conf);
                   conf.no_semicolon = true;
                   conf.strip_inline = true;
 		  break;
diff --git a/pfunct.c b/pfunct.c
index 314915b..f42bdd1 100644
--- a/pfunct.c
+++ b/pfunct.c
@@ -658,7 +658,7 @@
 	case 'a': addr = strtoull(arg, NULL, 0);
 		  conf_load.get_addr_info = true;	 break;
 	case 'b': expand_types = true;
-		  type_emissions__init(&emissions);	 break;
+		  type_emissions__init(&emissions, &conf);	 break;
 	case 'c': class_name = arg;			 break;
 	case 'f': function_name = arg;			 break;
 	case 'F': conf_load.format_path = arg;		 break;
@@ -689,7 +689,7 @@
 	case ARGP_no_parm_names: conf.no_parm_names = 1; break;
 	case ARGP_compile:
 		  expand_types = true;
-		  type_emissions__init(&emissions);
+		  type_emissions__init(&emissions, &conf);
 		  compilable_output = true;
 		  conf.no_semicolon = true;
 		  conf.strip_inline = true;