diff -u src.orig/ccd2iso.c src/ccd2iso.c --- src.orig/ccd2iso.c 2006-12-15 17:58:32.000000000 +0200 +++ src/ccd2iso.c 2010-07-09 15:36:20.723182026 +0300 @@ -27,6 +27,7 @@ #include <stdio.h> #include <stdlib.h> +#include <string.h> #include "clonecd.h" @@ -93,7 +94,7 @@ if (bytes_read < sizeof(ccd_sector)) { printf("Error at sector %d.\n", sect_num); - printf("The sector does not contain complete data. Sector size must be %d, while actual data read is %d\n", + printf("The sector does not contain complete data. Sector size must be %zd, while actual data read is %d\n", sizeof(ccd_sector), bytes_read); return 1; } diff -u src.orig/clonecd.h src/clonecd.h --- src.orig/clonecd.h 2006-12-15 10:25:08.000000000 +0200 +++ src/clonecd.h 2010-07-09 15:30:36.405702058 +0300 @@ -29,14 +29,14 @@ typedef struct { unsigned char sectaddr_min, sectaddr_sec, sectaddr_frac; unsigned char mode; -} ccd_sectheader_header __attribute__((packed)); +} __attribute__((packed)) ccd_sectheader_header; typedef unsigned char ccd_sectheader_subheader[8]; //??? No idea about the struct typedef struct { ccd_sectheader_syn syn; ccd_sectheader_header header; -} ccd_sectheader __attribute__((packed)); +} __attribute__((packed)) ccd_sectheader; typedef struct { ccd_sectheader sectheader; @@ -54,7 +54,7 @@ ccd_ecc ecc; } mode2; } content; -} ccd_sector __attribute__((packed)); +} __attribute__((packed)) ccd_sector; const ccd_sectheader_syn CCD_SYN_DATA = { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 }; Common subdirectories: src.orig/.deps and src/.deps