equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
293 } |
293 } |
294 |
294 |
295 // returns a format string to print a julong with the given width. E.g, |
295 // returns a format string to print a julong with the given width. E.g, |
296 // printf(num_fmt(6), julong(10)) would print out the number 10 with 4 |
296 // printf(num_fmt(6), julong(10)) would print out the number 10 with 4 |
297 // leading spaces. |
297 // leading spaces. |
|
298 PRAGMA_DIAG_PUSH |
|
299 PRAGMA_FORMAT_NONLITERAL_IGNORED |
|
300 |
298 static void print_julong(outputStream* st, int width, julong n) { |
301 static void print_julong(outputStream* st, int width, julong n) { |
299 int num_spaces = width - julong_width(n); |
302 int num_spaces = width - julong_width(n); |
300 if (num_spaces > 0) { |
303 if (num_spaces > 0) { |
301 st->print(str_fmt(num_spaces), ""); |
304 st->print(str_fmt(num_spaces), ""); |
302 } |
305 } |
303 st->print(JULONG_FORMAT, n); |
306 st->print(JULONG_FORMAT, n); |
304 } |
307 } |
|
308 PRAGMA_DIAG_POP |
305 |
309 |
306 static char* perc_fmt(int width) { |
310 static char* perc_fmt(int width) { |
307 static char buf[32]; |
311 static char buf[32]; |
308 jio_snprintf(buf, sizeof(buf), "%%%d.1f%%%%", width-1); |
312 jio_snprintf(buf, sizeof(buf), "%%%d.1f%%%%", width-1); |
309 return buf; |
313 return buf; |