summaryrefslogtreecommitdiff
path: root/libre/shntool/shntool-3.0.10-large-times.diff
blob: be4716e6b62b044cf47e8d8d724b13184adce86e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
diff -aur shntool-3.0.10-clean/src/core_mode.c shntool-3.0.10/src/core_mode.c
--- shntool-3.0.10-clean/src/core_mode.c	2009-03-30 06:55:33.000000000 +0100
+++ shntool-3.0.10/src/core_mode.c	2012-08-11 16:37:58.000000000 +0100
@@ -310,8 +310,8 @@
   if (sec >= 60)
     st_error("invalid value for seconds: [%d]",sec);
 
-  bytes = (wlong)(min * info->rate * 60) +
-          (wlong)(sec * info->rate);
+  bytes = (((wlong)min) * info->rate * 60) +
+          (((wlong)sec) * info->rate);
 
   return bytes;
 }
@@ -358,9 +358,9 @@
   if (frames >= 75)
     st_error("invalid value for frames: [%d]",frames);
 
-  bytes = (wlong)(min * CD_RATE * 60) +
-          (wlong)(sec * CD_RATE) +
-          (wlong)(frames * CD_BLOCK_SIZE);
+  bytes = (((wlong)min) * CD_RATE * 60) +
+          (((wlong)sec) * CD_RATE) +
+          (((wlong)frames) * CD_BLOCK_SIZE);
 
   return bytes;
 }
@@ -403,8 +403,8 @@
 
   nearest_byte = (int)((((double)ms * (double)info->rate) / 1000.0) + 0.5);
 
-  bytes = (wlong)(min * info->rate * 60) +
-          (wlong)(sec * info->rate);
+  bytes = (((wlong)min) * info->rate * 60) +
+          (((wlong)sec) * info->rate);
 
   if (PROB_NOT_CD(info)) {
     bytes += nearest_byte;