if n >= width then str
else (* if n < width then *) str ^ String.make (width-n) ' '
+(* Truncate an OCaml string at the first ASCII NUL character, ie. as
+ * if it were a C string.
+ *)
+let truncate_c_string str =
+ try
+ let i = String.index str '\000' in
+ String.sub str 0 i
+ with
+ Not_found -> str
+
(** General binary tree type. Data 'a is stored in the leaves and 'b
is stored in the nodes. *)
type ('a,'b) binary_tree =
open Virt_mem_types
open Virt_mem_mmap
-(* Truncate an OCaml string at the first ASCII NUL character, ie. as
- * if it were a C string.
- *)
-let truncate str =
- try
- let i = String.index str '\000' in
- String.sub str 0 i
- with
- Not_found -> str
-
let parse_utsname bits =
(* Expect the first (sysname) field to always be "Linux", which is
* also a good way to tell if we're synchronized to the right bit of
domainname : 65*8 : string } ->
Some {
kernel_name = "Linux";
- nodename = truncate nodename;
- kernel_release = truncate release;
- kernel_version = truncate version;
- machine = truncate machine;
- domainname = truncate domainname
+ nodename = truncate_c_string nodename;
+ kernel_release = truncate_c_string release;
+ kernel_version = truncate_c_string version;
+ machine = truncate_c_string machine;
+ domainname = truncate_c_string domainname
}
| { _ } ->
None