X-Git-Url: http://git.annexia.org/?p=virt-top.git;a=blobdiff_plain;f=virt-top%2Fvirt_top_utils.ml;h=c5dc97df20ea378479d9257481171ba328e003c2;hp=c668fb92d32c335e038ed8ad5e52c116fde40828;hb=5e12409e8c353602f6606394e16d6e5308931f89;hpb=46d3772c9a5cf786fa4fbdb2ba29512580101f32 diff --git a/virt-top/virt_top_utils.ml b/virt-top/virt_top_utils.ml index c668fb9..c5dc97d 100644 --- a/virt-top/virt_top_utils.ml +++ b/virt-top/virt_top_utils.ml @@ -1,5 +1,5 @@ (* 'top'-like tool for libvirt domains. - (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc. + (C) Copyright 2007-2009 Richard W.M. Jones, Red Hat Inc. http://libvirt.org/ This program is free software; you can redistribute it and/or modify @@ -35,6 +35,9 @@ let (-^) = Int64.sub let ( *^ ) = Int64.mul let (/^) = Int64.div +(* failwithf is a printf-like version of failwith. *) +let failwithf fs = ksprintf failwith fs + (* Input a whole file as a list of lines. *) let input_all_lines chan = let lines = ref [] in @@ -106,10 +109,13 @@ let read_config_file filename = (* Pad a string to the full width with spaces. If too long, truncate. *) let pad width str = - let n = String.length str in - if n = width then str - else if n > width then String.sub str 0 width - else (* if n < width then *) str ^ String.make (width-n) ' ' + if width <= 0 then "" + else ( + let n = String.length str in + if n = width then str + else if n > width then String.sub str 0 width + else (* if n < width then *) str ^ String.make (width-n) ' ' + ) module Show = struct (* Show a percentage in 4 chars. *)