< prev index next >
src/os/posix/vm/os_posix.cpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 164,173 ****
--- 164,183 ----
}
return aligned_base;
}
+ int os::vsnprintf(char* buf, size_t len, const char* fmt, va_list args) {
+ int result = ::vsnprintf(buf, len, fmt, args);
+ // If an encoding error occurred (result < 0) then it's not clear
+ // whether the buffer is NUL terminated, so ensure it is.
+ if ((result < 0) && (len > 0)) {
+ buf[len - 1] = '\0';
+ }
+ return result;
+ }
+
void os::Posix::print_load_average(outputStream* st) {
st->print("load average:");
double loadavg[3];
os::loadavg(loadavg, 3);
st->print("%0.02f %0.02f %0.02f", loadavg[0], loadavg[1], loadavg[2]);
< prev index next >