patch 9.0.1391: "clear" macros are not always used

Problem:    "clear" macros are not always used.
Solution:   Use ALLOC_ONE, VIM_CLEAR, CLEAR_POINTER and CLEAR_FIELD in more
            places. (Yegappan Lakshmanan, closes #12104)
diff --git a/src/hardcopy.c b/src/hardcopy.c
index f6be017..e91a7dc 100644
--- a/src/hardcopy.c
+++ b/src/hardcopy.c
@@ -2721,14 +2721,10 @@
     struct prt_ps_resource_S *res_cmap;
     int		retval = FALSE;
 
-    res_prolog = (struct prt_ps_resource_S *)
-				      alloc(sizeof(struct prt_ps_resource_S));
-    res_encoding = (struct prt_ps_resource_S *)
-				      alloc(sizeof(struct prt_ps_resource_S));
-    res_cidfont = (struct prt_ps_resource_S *)
-				      alloc(sizeof(struct prt_ps_resource_S));
-    res_cmap = (struct prt_ps_resource_S *)
-				      alloc(sizeof(struct prt_ps_resource_S));
+    res_prolog = ALLOC_ONE(struct prt_ps_resource_S);
+    res_encoding = ALLOC_ONE(struct prt_ps_resource_S);
+    res_cidfont = ALLOC_ONE(struct prt_ps_resource_S);
+    res_cmap = ALLOC_ONE(struct prt_ps_resource_S);
     if (res_prolog == NULL || res_encoding == NULL
 	    || res_cidfont == NULL || res_cmap == NULL)
 	goto theend;