diff --git a/src/link/mapfile.c b/src/link/mapfile.c index 10524e03..5d87e91e 100644 --- a/src/link/mapfile.c +++ b/src/link/mapfile.c @@ -1,7 +1,9 @@ #include +#include #include #include #include +#include #include "asmotor.h" @@ -19,8 +21,9 @@ SetMapfileName(char *name) { mf = fopen(name, "w"); - if (!mf) - errx(5, "Unable to open mapfile for writing"); + if (mf == NULL) + errx(EX_CANTCREAT, "Cannot open mapfile '%s' : %s", name, + strerror(errno)); } void @@ -28,8 +31,9 @@ SetSymfileName(char *name) { sf = fopen(name, "w"); - if (!sf) - errx(5, "Unable to open symfile for writing"); + if (sf == NULL) + errx(EX_CANTCREAT, "Cannot open symfile '%' : %s", name, + strerror(errno)); fprintf(sf, ";File generated by xLink v" LINK_VERSION "\n\n"); } diff --git a/src/link/object.c b/src/link/object.c index 364fdeaf..c2c1718c 100644 --- a/src/link/object.c +++ b/src/link/object.c @@ -4,9 +4,11 @@ */ #include +#include #include #include #include +#include #include "link/mylink.h" #include "link/main.h" @@ -443,9 +445,9 @@ obj_Readfile(char *tzObjectfile) oReadLib = 0; pObjfile = fopen(tzObjectfile, "rb"); - if (!pObjfile) { - errx(5, "Unable to open '%s'", tzObjectfile); - } + if (pObjfile == NULL) + errx(EX_NOINPUT, "Unable to open object '%s' : %s", + tzObjectfile, strerror(errno)); obj_ReadOpenFile(pObjfile, tzObjectfile); fclose(pObjfile); @@ -493,6 +495,9 @@ lib_Readfile(char *tzLibfile) oReadLib = 1; pObjfile = fopen(tzLibfile, "rb"); + if (pObjfile == NULL) + errx(EX_NOINPUT, "Unable to open object '%s' : %s", + tzObjectfile, strerror(errno)); if (!pObjfile) { errx(5, "Unable to open '%s'", tzLibfile); }