*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 021110-1307, USA.
+ * Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 0211-1301 USA
*
* To Do:
* + Proper support for internationalization
#include <fcntl.h>
#include <syslog.h>
#include <rpc/rpc.h>
-#include <rpc/pmap_prot.h>
-#include <rpc/pmap_clnt.h>
#include "xcommon.h"
#include "nls.h"
pos = snprintf(tmp, (erreob - tmp),
_("System Error: %s"),
strerror(cf_errno));
- else
- pos = snprintf(tmp, (erreob - tmp),
- _("RPC Error:%s"), estr);
+ else {
+ if (cf_errno)
+ pos = snprintf(tmp, (erreob - tmp),
+ _("RPC Error:%s; errno = %s"),
+ estr, strerror(cf_errno));
+ else
+ pos = snprintf(tmp, (erreob - tmp),
+ _("RPC Error:%s"), estr);
+ }
}
return pos;
}
nfs_error(_("%s: mount point %s does not exist"),
progname, mount_point);
break;
+ case ESPIPE:
+ rpc_mount_errors((char *)spec, 0, 0);
+ break;
case EIO:
+ nfs_error(_("%s: mount system call failed"), progname);
+ break;
case EFAULT:
- nfs_error(_("%s: internal error"), progname);
+ nfs_error(_("%s: encountered unexpected error condition."),
+ progname);
+ nfs_error(_("%s: please report the error to" PACKAGE_BUGREPORT),
+ progname);
break;
default:
nfs_error(_("%s: %s"),
#define EDQUOT ENOSPC
#endif
+#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
+
static struct {
enum nfsstat stat;
int errnum;
#endif
/* Throw in some NFSv3 values for even more fun (HP returns these) */
{ 71, EREMOTE },
-
- { -1, EIO }
};
-char *nfs_strerror(int stat)
+char *nfs_strerror(unsigned int stat)
{
- int i;
+ unsigned int i;
static char buf[256];
- for (i = 0; nfs_errtbl[i].stat != -1; i++) {
+ for (i = 0; i < ARRAY_SIZE(nfs_errtbl); i++) {
if (nfs_errtbl[i].stat == stat)
return strerror(nfs_errtbl[i].errnum);
}
- sprintf(buf, _("unknown nfs status return value: %d"), stat);
+ sprintf(buf, _("unknown nfs status return value: %u"), stat);
return buf;
}