From 4e446968c595a9f8fcb0c8c2b1e061f4cbc57d0f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 19 Oct 2015 17:11:34 +0200 Subject: [PATCH] alternatives: do not ignore symlink(2) return value. This fixes the travisci warning seen with gcc. --- lib/package_alternatives.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/package_alternatives.c b/lib/package_alternatives.c index 40858436..96a00e13 100644 --- a/lib/package_alternatives.c +++ b/lib/package_alternatives.c @@ -136,6 +136,7 @@ create_symlinks(struct xbps_handle *xhp, xbps_array_t a, const char *grname) xbps_string_t str; char *l, *lnk; const char *tgt; + int rv; str = xbps_array_get(a, i); l = left(xbps_string_cstring_nocopy(str)); @@ -146,7 +147,14 @@ create_symlinks(struct xbps_handle *xhp, xbps_array_t a, const char *grname) xbps_set_cb_state(xhp, XBPS_STATE_ALTGROUP_LINK_ADDED, 0, NULL, "Creating '%s' alternatives group symlink: %s -> %s", grname, l, tgt); unlink(lnk); - symlink(tgt, lnk); + if ((rv = symlink(tgt, lnk)) != 0) { + xbps_dbg_printf(xhp, "failed to create alt symlink '%s'" + "for group '%s': %s\n", lnk, grname, + strerror(errno)); + free(lnk); + free(l); + return rv; + } free(lnk); free(l); }