summaryrefslogtreecommitdiff
path: root/sys-devel/bmake/files/bmake-20220418-warnings.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/bmake/files/bmake-20220418-warnings.patch')
-rw-r--r--sys-devel/bmake/files/bmake-20220418-warnings.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/sys-devel/bmake/files/bmake-20220418-warnings.patch b/sys-devel/bmake/files/bmake-20220418-warnings.patch
new file mode 100644
index 000000000000..1fccb91e95a3
--- /dev/null
+++ b/sys-devel/bmake/files/bmake-20220418-warnings.patch
@@ -0,0 +1,38 @@
+# https://bugs.gentoo.org/841362
+#
+# Fix -Wimplicit-function-declaration and -Wunused-result warnings
+#
+# meta.c: In function ‘meta_name’:
+# meta.c:262:21: warning: implicit declaration of function ‘strlcpy’; did you mean ‘strncpy’? [-Wimplicit-function-declaration]
+# 262 | strlcpy(rp, tname_base, sizeof buf - (size_t)(rp - buf));
+# | ^~~~~~~
+# | strncpy
+#
+# meta.c: In function ‘meta_job_error’:
+# meta.c:774:5: warning: ignoring return value of ‘getcwd’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
+# 774 | getcwd(cwd, sizeof cwd);
+# | ^~~~~~~~~~~~~~~~~~~~~~~
+
+--- a/meta.c
++++ b/meta.c
+@@ -106,6 +106,10 @@
+ char * stresep(char **, const char *, int);
+ #endif
+
++#if !defined(HAVE_STRLCPY)
++size_t strlcpy(char *, const char *, size_t);
++#endif
++
+ /*
+ * Filemon is a kernel module which snoops certain syscalls.
+ *
+@@ -769,7 +773,8 @@
+ }
+ if (gn != NULL)
+ Global_Set(".ERROR_TARGET", GNode_Path(gn));
+- getcwd(cwd, sizeof cwd);
++ if (getcwd(cwd, sizeof cwd) == NULL)
++ err(1, "Could not get current working directory");
+ Global_Set(".ERROR_CWD", cwd);
+ if (pbm->meta_fname[0] != '\0') {
+ Global_Set(".ERROR_META_FILE", pbm->meta_fname);