$NetBSD$

--- src/devices.c.orig	2008-06-18 16:26:14.000000000 +0200
+++ src/devices.c
@@ -33,7 +33,7 @@
 #include <stdlib.h>
 
 #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__sun) \
-	|| defined(__OpenBSD__)
+	|| defined(__OpenBSD__) || defined(__NetBSD__)
 #include <sys/cdio.h>
 #define CDROM_DRIVE_STATUS     0x5326
 #define CDS_NO_DISC        1
@@ -311,13 +311,13 @@ devices_parse_cdrecord_output(const gcha
 		'OLYMPUS ' 'D-230           ' '1.00' Removable Disk */
 		if(strstr(*line, "Removable Disk") == NULL)
 		{
-			gchar vendor[9], model[17], device_id[6];
+			gchar vendor[9], model[17], device_id[7];
 
 			if(sscanf(*line, "\t%5c\t  %*d) '%8c' '%16c'", device_id, vendor, model) == 3)
 			{
 				vendor[8] = '\0';
 				model[16] = '\0';
-				device_id[5] = '\0';
+				device_id[6] = '\0';
 
 				gchar *device = NULL;
 
@@ -714,7 +714,7 @@ devices_eject_disk(const gchar *device_k
     else
     {
         /* Use ioctl to send the CDROMEJECT (CDIOCEJECT on FreeBSD) command to the device */
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__OpenBSD__) || defined(__NetBSD__)
         if(ioctl(cdrom, CDIOCEJECT, 0) < 0)
             g_warning("devices_eject_disk - ioctl failed");
         else
