/*
* os_netbsd.cpp
*
- * Home page of code is: http://smartmontools.sourceforge.net
+ * Home page of code is: http://www.smartmontools.org
*
* Copyright (C) 2003-8 Sergey Svishchev <smartmontools-support@lists.sourceforge.net>
*
#include <errno.h>
#include <unistd.h>
-const char * os_netbsd_cpp_cvsid = "$Id: os_netbsd.cpp 3806 2013-03-29 20:17:03Z chrfranke $"
+const char * os_netbsd_cpp_cvsid = "$Id: os_netbsd.cpp 4320 2016-05-10 13:39:19Z chrfranke $"
OS_NETBSD_H_CVSID;
-/* global variable holding byte count of allocated memory */
-extern long long bytes;
-
enum warnings {
- BAD_SMART, NO_3WARE, NO_ARECA, MAX_MSG
+ BAD_SMART, MAX_MSG
};
/* Utility function for printing warnings */
return;
}
-static const char *net_dev_prefix = "/dev/";
+static const char *net_dev_prefix = "/dev/r";
static const char *net_dev_ata_disk = "wd";
static const char *net_dev_scsi_disk = "sd";
static const char *net_dev_scsi_tape = "enrst";
return -1;
}
sprintf(mp[n], "%s%s%c", net_dev_prefix, p, 'a' + getrawpartition());
- bytes += strlen(mp[n]) + 1;
n++;
}
- mp = (char **)realloc(mp, n * (sizeof(char *)));
- bytes += (n) * (sizeof(char *));
+ char ** tmp = (char **)realloc(mp, n * (sizeof(char *)));
+ if (NULL == tmp) {
+ pout("Out of memory constructing scan device list\n");
+ free(mp);
+ return -1;
+ }
+ else
+ mp = tmp;
*names = mp;
return n;
}
return 0;
}
- if ((retval = ioctl(fd, ATAIOCCOMMAND, &req))) {
+ retval = ioctl(fd, ATAIOCCOMMAND, &req);
+ if (retval < 0) {
perror("Failed command");
return -1;
}