Blob Blame History Raw
--- AtomicParsley.cpp.orig	2010-07-23 00:42:26.000000000 +0200
+++ AtomicParsley.cpp	2010-07-23 00:54:36.000000000 +0200
@@ -1447,7 +1447,7 @@
 	uint32_t atom_offsets = 0;
 	char* uuid_outfile = (char*)calloc(1, sizeof(char)*MAXPATHLEN+1); //malloc a new string because it may be a cli arg for a specific output path	
 	if (output_path == NULL) {
-		char* orig_suffix = strrchr(originating_file, '.');
+		const char* orig_suffix = strrchr(originating_file, '.');
 		if (orig_suffix == NULL) {
 			fprintf(stdout, "AP warning: a file extension for the input file was not found.\n\tGlobbing onto original filename...\n");
 			path_len = strlen(originating_file);
@@ -4030,21 +4030,21 @@
 		//+8 so that 'free' can be accommodated; can't write a 'free' atom of length = 5 - min is 8; OR it disappears entirely
 		if ( (int)udta_dynamics.max_usable_free_space >= userdata_difference + 8 || 
 		       userdata_difference <= -8 ||
-					 ( (int)udta_dynamics.max_usable_free_space >= 8 && -8 < userdata_difference < 0 ) || 
+					 ( (int)udta_dynamics.max_usable_free_space >= 8 && -8 < userdata_difference && userdata_difference< 0 ) || 
 					 (int)udta_dynamics.max_usable_free_space == userdata_difference) { 
 			//fprintf(stdout, "Dynamically update possible: change = %i, free = %i\n", userdata_difference , udta_dynamics.max_usable_free_space);
 			if (!moov_atom_was_mooved) { //only allow dynamic updating when moov precedes any mdat atoms...
 				udta_dynamics.dynamic_updating = true;
 			} else {
 				//if there is insufficient padding when moov is rearranged to precede mdat, add default padding
-				if (pad_prefs.minimum_required_padding_size < udta_dynamics.max_usable_free_space < pad_prefs.default_padding_size) {
+				if (pad_prefs.minimum_required_padding_size < udta_dynamics.max_usable_free_space && udta_dynamics.max_usable_free_space < pad_prefs.default_padding_size) {
 					APar_ForcePadding(pad_prefs.default_padding_size);
 				}
 				APar_DetermineAtomLengths();
 				return;
 			}
 			//fprintf(stdout, "I'm here %u , %u, %i - %i\n", udta_dynamics.max_usable_free_space, pad_prefs.default_padding_size, udta_dynamics.free_atom_repository, udta_dynamics.free_atom_secondary_repository);
-			if (pad_prefs.minimum_required_padding_size < udta_dynamics.max_usable_free_space < pad_prefs.default_padding_size) {
+			if (pad_prefs.minimum_required_padding_size < udta_dynamics.max_usable_free_space && udta_dynamics.max_usable_free_space < pad_prefs.default_padding_size) {
 				APar_ForcePadding(pad_prefs.default_padding_size);
 			}
 			if (pad_prefs.minimum_required_padding_size > udta_dynamics.max_usable_free_space) {
@@ -4462,7 +4462,7 @@
 #endif
 
 void APar_DeriveNewPath(const char *filePath, char* temp_path, int output_type, const char* file_kind, char* forced_suffix, bool random_filename = true) {
-	char* suffix = NULL;
+	const char* suffix = NULL;
 	if (forced_suffix == NULL) {
 		suffix = strrchr(filePath, '.');
 	} else {
@@ -4480,7 +4480,7 @@
 		memcpy(temp_path, filePath, base_len);
 		memcpy(temp_path + base_len, file_kind, strlen(file_kind));
 #else
-		char* file_name = strrchr(filePath, '/');
+		const char* file_name = strrchr(filePath, '/');
 		size_t file_name_len = strlen(file_name);
 		memcpy(temp_path, filePath, filepath_len-file_name_len+1);
 		memcpy(temp_path + strlen(temp_path), ".", 1);
@@ -5006,7 +5006,7 @@
 			free_modified_name = true;
 			if (forced_suffix_type == FORCE_M4B_TYPE) { //using --stik Audiobook with --overWrite will change the original file's extension
 				uint16_t filename_len = strlen(m4aFile);
-				char* suffix = strrchr(m4aFile, '.');
+				const char* suffix = strrchr(m4aFile, '.');
 				memcpy(originating_file, m4aFile, filename_len+1 );
 				memcpy(originating_file + (filename_len - strlen(suffix) ), ".m4b", 5 );
 			}