brasero r1374 - in trunk: . src
- From: philippr svn gnome org
- To: svn-commits-list gnome org
- Subject: brasero r1374 - in trunk: . src
- Date: Mon, 13 Oct 2008 18:42:33 +0000 (UTC)
Author: philippr
Date: Mon Oct 13 18:42:33 2008
New Revision: 1374
URL: http://svn.gnome.org/viewvc/brasero?rev=1374&view=rev
Log:
Fix a problem introduced by previous changes that prevented to burn images
Fix extension of image and toc temporary files
* src/burn-job.c (brasero_job_set_output_file):
* src/burn-session.c (brasero_burn_session_get_image_complement),
(brasero_burn_session_get_tmp_image):
Modified:
trunk/ChangeLog
trunk/src/burn-job.c
trunk/src/burn-session.c
Modified: trunk/src/burn-job.c
==============================================================================
--- trunk/src/burn-job.c (original)
+++ trunk/src/burn-job.c Mon Oct 13 18:42:33 2008
@@ -622,7 +622,7 @@
BRASERO_JOB_LOG (self, "output set (IMAGE) image = %s toc = %s",
image,
- toc ? toc : "nil");
+ toc ? toc : "none");
}
else if (priv->type.type == BRASERO_TRACK_TYPE_AUDIO) {
/* NOTE: this one can only a temporary file */
Modified: trunk/src/burn-session.c
==============================================================================
--- trunk/src/burn-session.c (original)
+++ trunk/src/burn-session.c Mon Oct 13 18:42:33 2008
@@ -521,98 +521,6 @@
return priv->settings->num_copies;
}
-static gchar *
-brasero_burn_session_get_image_complement (BraseroBurnSession *self,
- BraseroImageFormat format,
- const gchar *path)
-{
- gchar *retval = NULL;
- BraseroBurnSessionPrivate *priv;
-
- priv = BRASERO_BURN_SESSION_PRIVATE (self);
-
- if (format == BRASERO_IMAGE_FORMAT_CLONE)
- retval = g_strdup_printf ("%s.toc", path);
- else if (format == BRASERO_IMAGE_FORMAT_CUE) {
- if (g_str_has_suffix (path, ".bin"))
- retval = g_strdup_printf ("%.*scue",
- strlen (path) - 3,
- path);
- else
- retval = g_strdup_printf ("%s.bin", path);
- }
- else if (format == BRASERO_IMAGE_FORMAT_CDRDAO) {
- if (g_str_has_suffix (path, ".bin"))
- retval = g_strdup_printf ("%.*stoc",
- strlen (path) - 3,
- path);
- else
- retval = g_strdup_printf ("%s.toc", path);
- }
- else
- retval = NULL;
-
- return retval;
-}
-
-static BraseroBurnResult
-brasero_burn_session_set_image_output_retval (BraseroBurnSession *self,
- BraseroImageFormat format,
- gchar **image,
- gchar **toc,
- gchar *output,
- gchar *complement)
-{
- BraseroBurnSessionPrivate *priv;
-
- priv = BRASERO_BURN_SESSION_PRIVATE (self);
-
- switch (format) {
- case BRASERO_IMAGE_FORMAT_BIN:
- case BRASERO_IMAGE_FORMAT_NONE:
- if (image)
- *image = output;
- else
- g_free (output);
-
- if (toc)
- *toc = NULL;
-
- g_free (complement);
- break;
-
- case BRASERO_IMAGE_FORMAT_CLONE:
- if (image)
- *image = output;
- else
- g_free (output);
-
- if (toc)
- *toc = complement;
- else
- g_free (complement);
- break;
-
- case BRASERO_IMAGE_FORMAT_CUE:
- case BRASERO_IMAGE_FORMAT_CDRDAO:
- if (image)
- *image = complement;
- else
- g_free (complement);
-
- if (toc)
- *toc = output;
- else
- g_free (output);
- break;
-
- default:
- return BRASERO_BURN_ERR;
- }
-
- return BRASERO_BURN_OK;
-}
-
/**
* This function returns a path only if we should output to a file image
* and not burn.
@@ -905,6 +813,40 @@
return BRASERO_BURN_OK;
}
+static gchar *
+brasero_burn_session_get_image_complement (BraseroBurnSession *self,
+ BraseroImageFormat format,
+ const gchar *path)
+{
+ gchar *retval = NULL;
+ BraseroBurnSessionPrivate *priv;
+
+ priv = BRASERO_BURN_SESSION_PRIVATE (self);
+
+ if (format == BRASERO_IMAGE_FORMAT_CLONE)
+ retval = g_strdup_printf ("%s.toc", path);
+ else if (format == BRASERO_IMAGE_FORMAT_CUE) {
+ if (g_str_has_suffix (path, ".bin"))
+ retval = g_strdup_printf ("%.*scue",
+ strlen (path) - 3,
+ path);
+ else
+ retval = g_strdup_printf ("%s.cue", path);
+ }
+ else if (format == BRASERO_IMAGE_FORMAT_CDRDAO) {
+ if (g_str_has_suffix (path, ".bin"))
+ retval = g_strdup_printf ("%.*stoc",
+ strlen (path) - 3,
+ path);
+ else
+ retval = g_strdup_printf ("%s.toc", path);
+ }
+ else
+ retval = NULL;
+
+ return retval;
+}
+
BraseroBurnResult
brasero_burn_session_get_tmp_image (BraseroBurnSession *self,
BraseroImageFormat format,
@@ -923,7 +865,7 @@
/* Image tmp file */
result = brasero_burn_session_get_tmp_file (self,
- NULL,
+ (format == BRASERO_IMAGE_FORMAT_CLONE)? NULL:".bin",
&path,
error);
if (result != BRASERO_BURN_OK)
@@ -934,9 +876,9 @@
complement = brasero_burn_session_get_image_complement (self, format, path);
if (complement) {
/* That shouldn't happen ... */
- if (g_file_test (path, G_FILE_TEST_EXISTS)) {
+ if (g_file_test (complement, G_FILE_TEST_EXISTS)) {
g_free (complement);
- return result;
+ return BRASERO_BURN_ERR;
}
}
}
@@ -945,12 +887,15 @@
priv->tmpfiles = g_slist_prepend (priv->tmpfiles,
g_strdup (complement));
- brasero_burn_session_set_image_output_retval (self,
- format,
- image,
- toc,
- path,
- complement);
+ if (image)
+ *image = path;
+ else
+ g_free (path);
+
+ if (toc)
+ *toc = complement;
+ else
+ g_free (complement);
return BRASERO_BURN_OK;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]