X-From-Line: discard-all@chiark.greenend.org.uk Sun May 30 23:40:00 1999
Received: from punt-21.mail.demon.net [194.217.242.6] 
	by cookie with smtp (Exim 2.11 #1 (Debian))
	id 10oEEh-00032E-00; Sun, 30 May 1999 23:39:20 +0100
Received: from punt-2.mail.demon.net by mailstore
          for james@ruari-quinn.demon.co.uk id 928093740:20:07415:1;
          Sun, 30 May 99 19:49:00 GMT
Received: from junk.hemmet.s-hem.chalmers.se ([193.10.241.63])
          by punt-2.mail.demon.net  id aa2007335; 30 May 99 19:48 GMT
Received: from master.debian.org [209.41.108.5] (mail)
	by junk.nocrew.org with esmtp (Exim 2.05 #1 (Debian))
	id 10oBZf-0002i0-00; Sun, 30 May 1999 21:48:48 +0200
Received: from iwj by master.debian.org with local (Exim 2.05 #1 (Debian))
	id 10oBZS-0004oM-00; Sun, 30 May 1999 14:48:34 -0500
Subject: Bug#38595: libcdaudio_0.7.0-1 not 64bit clean
Reply-To: Bart Warmerdam <bartw@xs4all.nl>, 38595@bugs.debian.org
Resent-From: Bart Warmerdam <bartw@xs4all.nl>
Resent-CC: James Troup <james@nocrew.org>
Resent-Date: Sun, 30 May 1999 19:48:33 GMT
Resent-Message-ID: <handler.38595.B.9280930006363@bugs.debian.org>
Resent-Sender: iwj@debian.org
X-Debian-PR-Message: report 38595
X-Debian-PR-Package: libcdaudio
X-Debian-PR-Keywords: 
X-Loop: owner@bugs.debian.org
Received: via spool by bugs@bugs.debian.org id=B.9280930006363
          (code B ref -1); Sun, 30 May 1999 19:48:33 GMT
Date: Sun, 30 May 1999 21:37:20 +0200
From: Bart Warmerdam <bartw@xs4all.nl>
To: submit@bugs.debian.org
X-Gnus-Mail-Source: file:/var/spool/mail/james
Message-ID: <19990530213720.A4634@xs4all.nl>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="ibTvN161/egqYuK8"
X-Mailer: Mutt 0.95.4i
X-Content-Length: 8786
Lines: 230
Xref: cookie bugs.personal:627
X-Gnus-Article-Number: 627   Sun May 30 23:42:08 1999


--ibTvN161/egqYuK8
Content-Type: text/plain; charset=us-ascii


Package: libcdaudio
Version: 0.7.0-1

Your package is not 64bit clean.
Symptom: 
stat("/home/bartw/.cddb/unknown/ffffffffee119410", 0x1fe336a0) = -1 ENOENT 
(No such file or directory)

Patch attached...

Thanks,

B.

--
B. Warmerdam                                              GNU/Debian Linux
bartw@xs4all.nl, bartw@debian.org (Keyid: 10A0FDD1)       ----------------

--ibTvN161/egqYuK8
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="libcdaudio_0.7.0-1.1_alpha.diff"

diff -ru libcdaudio-0.7.0.orig/source/cdaudio.h libcdaudio-0.7.0/source/cdaudio.h
--- libcdaudio-0.7.0.orig/source/cdaudio.h	Sun Apr 18 20:07:42 1999
+++ libcdaudio-0.7.0/source/cdaudio.h	Sun May 30 21:09:55 1999
@@ -78,11 +78,13 @@
 extern char cddb_message[256];
 #endif
 
+#include <sys/types.h>
+
 /* CDDB entry */
 struct cddb_entry {
    int entry_present;
    long entry_timestamp;
-   unsigned long entry_id;
+   u_int32_t entry_id;
    int entry_genre;
 };
 
@@ -179,7 +181,7 @@
 
 /* Disc database structure */
 struct disc_data {
-   unsigned long data_id;			/* CDDB ID */
+   u_int32_t data_id;				/* CDDB ID */
    char data_cdindex_id[CDINDEX_ID_SIZE];	/* CDI ID */
    int data_revision; 				/* CDDB revision (incremented with each submit) */
    char data_title[256];			/* Disc title */
@@ -195,7 +197,7 @@
    int disc_present;				/* Is disc present? */
    struct disc_timeval disc_length;		/* Length of disc */
    int disc_total_tracks;			/* Total tracks */
-   unsigned long disc_id;			/* CDDB ID */
+   u_int32_t disc_id;				/* CDDB ID */
    char data_cdindex_id[CDINDEX_ID_SIZE];	/* CDI ID */
    char disc_info[128];				/* Artist name / Disc name */
    struct art_data data_art;			/* Disc art */
@@ -238,7 +240,7 @@
 int cd_close(int cd_desc);
 int cd_set_volume(int cd_desc, struct disc_volume *vol);
 int cd_get_volume(int cd_desc, struct disc_volume *vol);
-unsigned long cddb_discid(int cd_desc);
+u_int32_t cddb_discid(int cd_desc);
 int cddb_process_url(struct cddb_host *host, const char *url);
 int cddb_read_serverlist(struct cddb_conf *conf, struct cddb_serverlist *list, struct cddb_server *proxy);
 int cddb_write_serverlist(struct cddb_conf *conf, struct cddb_serverlist *list, struct cddb_server *proxy);
diff -ru libcdaudio-0.7.0.orig/source/cddb.c libcdaudio-0.7.0/source/cddb.c
--- libcdaudio-0.7.0.orig/source/cddb.c	Sun Apr 18 20:08:42 1999
+++ libcdaudio-0.7.0/source/cddb.c	Sun May 30 21:11:34 1999
@@ -45,7 +45,7 @@
 #include <cddb.h>
 
 /* Static function prototypes */
-static int cddb_sum(long val);
+static int cddb_sum(u_int32_t val);
 static int cddb_serverlist_data_mod(char *var, char *value, struct cddb_conf *conf, struct cddb_serverlist *list, struct cddb_server *proxy);
 static int cddb_serverlist_process_line(char *line, struct cddb_conf *conf, struct cddb_serverlist *list, struct cddb_server *proxy);
 static int cddb_data_mod(char *var, char *value, struct __unprocessed_disc_data *data);
@@ -59,16 +59,16 @@
 /* CDDB sum function */
 static int
 #if __STDC__
-cddb_sum(long val)
+cddb_sum(u_int32_t val)
 #else
 cddb_sum(val)
-   long val;
+   u_int32_t val;
 #endif
 {
    char *bufptr, buf[16];
    int ret = 0;
    
-   snprintf(buf, 16, "%lu", val);
+   snprintf(buf, 16, "%u", val);
    for(bufptr = buf; *bufptr != '\0'; bufptr++)
      ret += (*bufptr - '0');
    
@@ -76,7 +76,7 @@
 }
 
 /* Produce CDDB ID for the CD in the device referred to by cd_desc */
-unsigned long 
+u_int32_t 
 #if __STDC__
 cddb_discid(int cd_desc)
 #else
@@ -645,7 +645,7 @@
 	 snprintf(offsettmp, 1024, "%s+%d", offsetbuffer, disc.disc_track[index].track_start);
          strncpy(offsetbuffer, offsettmp, 1024);
       }
-      snprintf(outtemp, 1024, "cddb+query+%08lx+%s+%d", cddb_discid(cd_desc), offsetbuffer, disc.disc_length.minutes * 60 + disc.disc_length.seconds);
+      snprintf(outtemp, 1024, "cddb+query+%08x+%s+%d", cddb_discid(cd_desc), offsetbuffer, disc.disc_length.minutes * 60 + disc.disc_length.seconds);
       cddb_generate_http_request(outbuffer, outtemp, http_string, 1024);
    } else {	  
       snprintf(offsetbuffer, 1024, "%d", disc.disc_total_tracks);
@@ -653,7 +653,7 @@
          snprintf(offsettmp, 1024, "%s %d", offsetbuffer, disc.disc_track[index].track_start);
          strncpy(offsetbuffer, offsettmp, 1024);
       }
-      snprintf(outbuffer, 1024, "cddb query %08lx %s %d\n", cddb_discid(cd_desc), offsetbuffer, disc.disc_length.minutes * 60 + disc.disc_length.seconds);
+      snprintf(outbuffer, 1024, "cddb query %08x %s %d\n", cddb_discid(cd_desc), offsetbuffer, disc.disc_length.minutes * 60 + disc.disc_length.seconds);
    }
 	
    va_end(arglist);
@@ -839,10 +839,10 @@
   
    if(mode == CDDB_MODE_HTTP) {
       http_string = va_arg(arglist, char *);
-      snprintf(outtemp, 512, "cddb+read+%s+%08lx", cddb_genre(entry->entry_genre), entry->entry_id);
+      snprintf(outtemp, 512, "cddb+read+%s+%08x", cddb_genre(entry->entry_genre), entry->entry_id);
       cddb_generate_http_request(outbuffer, outtemp, http_string, 512);
    } else 
-      snprintf(outbuffer, 512, "cddb read %s %08lx\n", cddb_genre(entry->entry_genre), entry->entry_id);
+      snprintf(outbuffer, 512, "cddb read %s %08x\n", cddb_genre(entry->entry_genre), entry->entry_id);
    
    va_end(arglist);
 	
@@ -1197,7 +1197,7 @@
    }
    
    for(index = 0; index < 12; index++) {
-      snprintf(file, 256, "%s/%s/%08lx", root_dir, cddb_genre(index), cddb_discid(cd_desc));
+      snprintf(file, 256, "%s/%s/%08x", root_dir, cddb_genre(index), cddb_discid(cd_desc));
       if(stat(file, &st) == 0) {
 	 cddb_data = fopen(file, "r");
 	 while(!feof(cddb_data)) {
@@ -1244,7 +1244,7 @@
    
    snprintf(root_dir, 256, "%s/.cddb", getenv("HOME"));
    snprintf(genre_dir, 256, "%s/%s", root_dir, cddb_genre(data.data_genre));
-   snprintf(file, 256, "%s/%08lx", genre_dir, data.data_id);
+   snprintf(file, 256, "%s/%08x", genre_dir, data.data_id);
    
    if(stat(root_dir, &st) < 0) {
       if(errno != ENOENT)
@@ -1284,7 +1284,7 @@
    fprintf(cddb_data, "# Revision: %d\n", data.data_revision);
    fprintf(cddb_data, "# Submitted via: %s %s\n", PACKAGE, VERSION);
    fputs("# \n", cddb_data);
-   fprintf(cddb_data, "DISCID=%08lx\n", data.data_id);
+   fprintf(cddb_data, "DISCID=%08x\n", data.data_id);
    for(index = 0; index < data.data_title_index; index++)
      fprintf(cddb_data, "DTITLE=%s\n", data.data_title[index]);
    for(tracks = 0; tracks < disc.disc_total_tracks; tracks++) {
@@ -1328,7 +1328,7 @@
    
    snprintf(root_dir, 256, "%s/.cddb", getenv("HOME"));
    snprintf(genre_dir, 256, "%s/%s", root_dir, cddb_genre(data->data_genre));
-   snprintf(file, 256, "%s/%08lx", genre_dir, data->data_id);
+   snprintf(file, 256, "%s/%08x", genre_dir, data->data_id);
    
    if(stat(root_dir, &st) < 0) {
       if(errno != ENOENT)
@@ -1393,7 +1393,7 @@
    }
    
    for(index = 0; index < 12; index++) {
-      snprintf(file, 256, "%s/%s/%08lx", root_dir, cddb_genre(index), cddb_discid(cd_desc));
+      snprintf(file, 256, "%s/%s/%08x", root_dir, cddb_genre(index), cddb_discid(cd_desc));
       if(stat(file, &st) == 0) {
 	 entry->entry_timestamp = st.st_mtime;
 	 entry->entry_present = 1;
@@ -1635,7 +1635,7 @@
    snprintf(outbuffer, 512, "Category: %s\n", cddb_genre(data.data_genre));
    write(sock, outbuffer, strlen(outbuffer));
 	
-   snprintf(outbuffer, 512, "Discid: %08lx\n", data.data_id);
+   snprintf(outbuffer, 512, "Discid: %08x\n", data.data_id);
    write(sock, outbuffer, strlen(outbuffer));
 	
    snprintf(outbuffer, 512, "User-Email: %s\n", email_address);
@@ -1647,7 +1647,7 @@
    strncpy(outbuffer, "X-Cddbd-Note: Submission problems?  E-mail libcdaudio@gjhsnews.mesa.k12.co.us\n", 512);
    write(sock, outbuffer, strlen(outbuffer));
 	
-   snprintf(cddb_file, 512, "%s/.cddb/%s/%08lx", getenv("HOME"), cddb_genre(data.data_genre), data.data_id);
+   snprintf(cddb_file, 512, "%s/.cddb/%s/%08x", getenv("HOME"), cddb_genre(data.data_genre), data.data_id);
    stat(cddb_file, &st);
 	
    snprintf(outbuffer, 512, "Content-Length: %d\n\n", (int) st.st_size);
diff -ru libcdaudio-0.7.0.orig/source/cddb.h libcdaudio-0.7.0/source/cddb.h
--- libcdaudio-0.7.0.orig/source/cddb.h	Mon Apr 12 07:19:37 1999
+++ libcdaudio-0.7.0/source/cddb.h	Sun May 30 20:38:12 1999
@@ -22,6 +22,7 @@
 #define _CDDB_H
 
 #include <cdaudio.h>
+#include <sys/types.h>
 
 #define MAX_EXTEMPORANEOUS_LINES                  6
 #define MAX_EXTENDED_LINES                        64
@@ -36,7 +37,7 @@
 };
 
 struct __unprocessed_disc_data {
-   unsigned long data_id;
+   u_int32_t data_id;
    char data_cdindex_id[CDINDEX_ID_SIZE];
    int data_revision;
    int data_title_index;

--ibTvN161/egqYuK8--

