brasero r1374 - in trunk: . src



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]