+static
+void cannibalize_buffer (char *buff)
+{
+ int len = strlen(buff);
+
+ if (!len)
+ return;
+
+ int i;
+ for (i=len-1; i>0; i--)
+ {
+ switch (buff[i]) {
+ case 0x20:
+ buff[i] = 0x0;
+ break;
+ default:
+ return;
+ }
+ }
+}
+
+void Ccdrom::read_creation_data (void)
+{
+ memset (buffer6, 0, 2048);
+ memset (sbuffer, 0, 256);
+ memset (sbuffer2, 0, 256);
+ memset (sbuffer3, 0, 256);
+
+ lseek (fd, 2048*16, SEEK_SET);
+ read (fd, buffer6, 2048);
+
+ memcpy (sbuffer, buffer6 + PUBLISHER_OFFSET, PUBLISHER_LEN);
+ memcpy (sbuffer2, buffer6 + PREPARER_OFFSET , PREPARER_LEN);
+ memcpy (sbuffer3, buffer6 + SOFTWARE_OFFSET, SOFTWARE_LEN);
+
+ cannibalize_buffer (sbuffer);
+ cannibalize_buffer (sbuffer2);
+ cannibalize_buffer (sbuffer3);
+}
+