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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
From: Fabien Proriol <Fabien.Proriol@jdsu.com>
Date: Fri, 7 Nov 2014 13:46:28 +0000
Subject: [PATCH] flashcp: Use %llu to print filestat.st_size
filestat.st_size type is off_t.
For some paltforms, off_t can be 32 or 64bit but there is no C99 format specifier for off_t.
The best way to print it with printf is to cast it to long long and print with %llu
Signed-off-by: Fabien Proriol <fabien.proriol@jdsu.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---
flashcp.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/flashcp.c b/flashcp.c
index 86334acf0e4d..3fddeb009ae3 100644
--- a/flashcp.c
+++ b/flashcp.c
@@ -296,7 +296,7 @@ int main (int argc,char *argv[])
* write the entire file to flash *
**********************************/
- if (flags & FLAG_VERBOSE) log_printf (LOG_NORMAL,"Writing data: 0k/%luk (0%%)",KB (filestat.st_size));
+ if (flags & FLAG_VERBOSE) log_printf (LOG_NORMAL,"Writing data: 0k/%lluk (0%%)",KB ((unsigned long long)filestat.st_size));
size = filestat.st_size;
i = BUFSIZE;
written = 0;
@@ -304,10 +304,10 @@ int main (int argc,char *argv[])
{
if (size < BUFSIZE) i = size;
if (flags & FLAG_VERBOSE)
- log_printf (LOG_NORMAL,"\rWriting data: %dk/%luk (%lu%%)",
+ log_printf (LOG_NORMAL,"\rWriting data: %dk/%lluk (%llu%%)",
KB (written + i),
- KB (filestat.st_size),
- PERCENTAGE (written + i,filestat.st_size));
+ KB ((unsigned long long)filestat.st_size),
+ PERCENTAGE (written + i,(unsigned long long)filestat.st_size));
/* read from filename */
safe_read (fil_fd,filename,src,i,flags & FLAG_VERBOSE);
@@ -325,8 +325,8 @@ int main (int argc,char *argv[])
exit (EXIT_FAILURE);
}
log_printf (LOG_ERROR,
- "Short write count returned while writing to x%.8x-0x%.8x on %s: %d/%lu bytes written to flash\n",
- written,written + i,device,written + result,filestat.st_size);
+ "Short write count returned while writing to x%.8x-0x%.8x on %s: %d/%llu bytes written to flash\n",
+ written,written + i,device,written + result,(unsigned long long)filestat.st_size);
exit (EXIT_FAILURE);
}
@@ -335,10 +335,10 @@ int main (int argc,char *argv[])
}
if (flags & FLAG_VERBOSE)
log_printf (LOG_NORMAL,
- "\rWriting data: %luk/%luk (100%%)\n",
- KB (filestat.st_size),
- KB (filestat.st_size));
- DEBUG("Wrote %d / %luk bytes\n",written,filestat.st_size);
+ "\rWriting data: %lluk/%lluk (100%%)\n",
+ KB ((unsigned long long)filestat.st_size),
+ KB ((unsigned long long)filestat.st_size));
+ DEBUG("Wrote %d / %lluk bytes\n",written,(unsigned long long)filestat.st_size);
/**********************************
* verify that flash == file data *
@@ -349,16 +349,16 @@ int main (int argc,char *argv[])
size = filestat.st_size;
i = BUFSIZE;
written = 0;
- if (flags & FLAG_VERBOSE) log_printf (LOG_NORMAL,"Verifying data: 0k/%luk (0%%)",KB (filestat.st_size));
+ if (flags & FLAG_VERBOSE) log_printf (LOG_NORMAL,"Verifying data: 0k/%lluk (0%%)",KB ((unsigned long long)filestat.st_size));
while (size)
{
if (size < BUFSIZE) i = size;
if (flags & FLAG_VERBOSE)
log_printf (LOG_NORMAL,
- "\rVerifying data: %dk/%luk (%lu%%)",
+ "\rVerifying data: %dk/%lluk (%lu%%)",
KB (written + i),
- KB (filestat.st_size),
- PERCENTAGE (written + i,filestat.st_size));
+ KB ((unsigned long long)filestat.st_size),
+ PERCENTAGE (written + i,(unsigned long long)filestat.st_size));
/* read from filename */
safe_read (fil_fd,filename,src,i,flags & FLAG_VERBOSE);
@@ -380,10 +380,10 @@ int main (int argc,char *argv[])
}
if (flags & FLAG_VERBOSE)
log_printf (LOG_NORMAL,
- "\rVerifying data: %luk/%luk (100%%)\n",
+ "\rVerifying data: %lluk/%lluk (100%%)\n",
KB (filestat.st_size),
KB (filestat.st_size));
- DEBUG("Verified %d / %luk bytes\n",written,filestat.st_size);
+ DEBUG("Verified %d / %lluk bytes\n",written,(unsigned long long)filestat.st_size);
exit (EXIT_SUCCESS);
}
|