Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 541084
Collapse All | Expand All

(-)a/configure.ac (+1 lines)
Lines 8-13 AC_USE_SYSTEM_EXTENSIONS Link Here
8
PKG_CHECK_MODULES([GLIB], [glib-2.0])
8
PKG_CHECK_MODULES([GLIB], [glib-2.0])
9
dnl vv - workaround for libmirage missing reqs - vv
9
dnl vv - workaround for libmirage missing reqs - vv
10
PKG_CHECK_MODULES([LIBMIRAGE], [libmirage >= 2.0.0])
10
PKG_CHECK_MODULES([LIBMIRAGE], [libmirage >= 2.0.0])
11
PKG_CHECK_EXISTS([libmirage >= 3.0.0], [AC_DEFINE(HAVE_LIBMIRAGE3, [1], [Define if you have libmirage >= 3])])
11
12
12
AC_SYS_LARGEFILE
13
AC_SYS_LARGEFILE
13
AC_CHECK_FUNCS([posix_fallocate])
14
AC_CHECK_FUNCS([posix_fallocate])
(-)a/mirage-wrapper.c (-10 / +52 lines)
Lines 15-21 Link Here
15
#include <string.h>
15
#include <string.h>
16
#include <errno.h>
16
#include <errno.h>
17
17
18
#include <mirage.h>
18
#if HAVE_LIBMIRAGE3
19
#   include <mirage/mirage.h>
20
#else
21
#   include <mirage.h>
22
#endif
19
#include "mirage-password.h"
23
#include "mirage-password.h"
20
#include "mirage-wrapper.h"
24
#include "mirage-wrapper.h"
21
25
Lines 39-45 gchar* miragewrap_password_callback(gpointer user_data) { Link Here
39
gboolean miragewrap_init(void) {
43
gboolean miragewrap_init(void) {
40
	GError *err = NULL;
44
	GError *err = NULL;
41
45
46
#if !GLIB_CHECK_VERSION(2, 36, 0)
42
	g_type_init();
47
	g_type_init();
48
#endif
43
49
44
#if !defined(MIRAGE_API12) || defined(MIRAGE_API20)
50
#if !defined(MIRAGE_API12) || defined(MIRAGE_API20)
45
	if (!((mirage = g_object_new(MIRAGE_TYPE_CONTEXT, NULL))))
51
	if (!((mirage = g_object_new(MIRAGE_TYPE_CONTEXT, NULL))))
Lines 137-177 static MirageTrack *miragewrap_get_track_common(const gint track_num, gint *ssta Link Here
137
		*len = mirage_track_layout_get_length(track);
143
		*len = mirage_track_layout_get_length(track);
138
144
139
	if (sectsize) {
145
	if (sectsize) {
140
		gint mode;
146
		gint sector_type;
141
		const gchar *unsupp_desc;
147
		const gchar *unsupp_desc;
142
148
143
		mode = mirage_track_get_mode(track);
149
#if MIRAGE_VERSION_MAJOR >= 3
150
		sector_type = mirage_track_get_sector_type(track);
151
#else
152
		sector_type = mirage_track_get_mode(track);
153
#endif
144
154
145
		unsupp_desc = NULL;
155
		unsupp_desc = NULL;
146
		switch (mode) {
156
		switch (sector_type) {
147
			/* supported modes, we set *sectsize and leave unsupp_desc NULL */
157
			/* supported sector types, we set *sectsize and leave unsupp_desc NULL */
158
#if MIRAGE_VERSION_MAJOR >= 3
159
			case MIRAGE_SECTOR_MODE1:
160
			case MIRAGE_SECTOR_MODE2_FORM1:
161
#else
148
			case MIRAGE_MODE_MODE1:
162
			case MIRAGE_MODE_MODE1:
149
			case MIRAGE_MODE_MODE2_FORM1:
163
			case MIRAGE_MODE_MODE2_FORM1:
164
#endif
150
				*sectsize = 2048;
165
				*sectsize = 2048;
151
				break;
166
				break;
152
			/* unsupported modes, we leave *sectsize unmodified and set unsupp_desc */
167
			/* unsupported sector types, we leave *sectsize unmodified and set unsupp_desc */
168
#if MIRAGE_VERSION_MAJOR >= 3
169
			case MIRAGE_SECTOR_MODE0:
170
#else
153
			case MIRAGE_MODE_MODE0:
171
			case MIRAGE_MODE_MODE0:
172
#endif
154
				unsupp_desc = "a Mode 0";
173
				unsupp_desc = "a Mode 0";
155
				break;
174
				break;
175
#if MIRAGE_VERSION_MAJOR >= 3
176
			case MIRAGE_SECTOR_AUDIO:
177
#else
156
			case MIRAGE_MODE_AUDIO:
178
			case MIRAGE_MODE_AUDIO:
179
#endif
157
				unsupp_desc = "an audio";
180
				unsupp_desc = "an audio";
158
				break;
181
				break;
182
#if MIRAGE_VERSION_MAJOR >= 3
183
			case MIRAGE_SECTOR_MODE2:
184
#else
159
			case MIRAGE_MODE_MODE2:
185
			case MIRAGE_MODE_MODE2:
186
#endif
160
				unsupp_desc = "a Mode 2";
187
				unsupp_desc = "a Mode 2";
161
				break;
188
				break;
189
#if MIRAGE_VERSION_MAJOR >= 3
190
			case MIRAGE_SECTOR_MODE2_FORM2:
191
#else
162
			case MIRAGE_MODE_MODE2_FORM2:
192
			case MIRAGE_MODE_MODE2_FORM2:
193
#endif
163
				unsupp_desc = "a Mode 2 Form 2";
194
				unsupp_desc = "a Mode 2 Form 2";
164
				break;
195
				break;
196
#if MIRAGE_VERSION_MAJOR >= 3
197
			case MIRAGE_SECTOR_MODE2_MIXED:
198
#else
165
			case MIRAGE_MODE_MODE2_MIXED:
199
			case MIRAGE_MODE_MODE2_MIXED:
200
#endif
166
				unsupp_desc = "a mixed Mode 2";
201
				unsupp_desc = "a mixed Mode 2";
167
				break;
202
				break;
168
			/* unknown mode, report it even if non-verbose and leave now */
203
#if MIRAGE_VERSION_MAJOR >= 3
204
			case MIRAGE_SECTOR_RAW:
205
				unsupp_desc = "a raw";
206
				break;
207
			case MIRAGE_SECTOR_RAW_SCRAMBLED:
208
				unsupp_desc = "a scrambled raw";
209
				break;
210
#endif
211
			/* unknown sector type, report it even if non-verbose and leave now */
169
			default:
212
			default:
170
				g_printerr("Unknown track mode (%d) for track %d (newer libmirage?)\n", mode, track_num);
213
				g_printerr("Unknown track sector type / mode (%d) for track %d (newer libmirage?)\n", sector_type, track_num);
171
				return NULL;
214
				return NULL;
172
		}
215
		}
173
216
174
		if (unsupp_desc) { /* got unsupported mode */
217
		if (unsupp_desc) { /* got unsupported sector type */
175
			if (verbose)
218
			if (verbose)
176
				g_printerr("Track %d is %s track (unsupported)\n", track_num, unsupp_desc);
219
				g_printerr("Track %d is %s track (unsupported)\n", track_num, unsupp_desc);
177
			return NULL;
220
			return NULL;
178
- 

Return to bug 541084