X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=HACKING;h=336fc7c667941e8a78e481f58810872f62e6c083;hp=747c3c5a8735ba4b71e81650063e8c4f99bf6ab1;hb=aa999d0586fd69094cb06ccb3ae5c429649662e0;hpb=6e790a9d6b225fad4ab080489bd8226c3adb3506 diff --git a/HACKING b/HACKING index 747c3c5..336fc7c 100644 --- a/HACKING +++ b/HACKING @@ -30,6 +30,9 @@ Directories appliance/ The qemu appliance, build scripts and so on. +cat/ + The virt-cat tool. + capitests/ Automated tests of the C API. @@ -39,6 +42,9 @@ contrib/ daemon/ The daemon that runs inside the guest and carries out actions. +df/ + The virt-df tool. + examples/ The examples. @@ -85,6 +91,9 @@ src/ Source code to the C library. Also contains the crucial generator program. +test-tool/ + Interactive qemu/kernel test tool. + v2v/ Xen to KVM (V2V) conversion tool. @@ -117,3 +126,25 @@ into the appliance. Debugging messages are never translated, since they are intended for the programmers. + +Extended printf +---------------------------------------------------------------------- + +In the daemon code we have created custom printf formatters %Q and %R, +which are used to do shell quoting. + +%Q => Simple shell quoted string. Any spaces or other shell characters + are escaped for you. + +%R => Same as %Q except the string is treated as a path which is prefixed + by the sysroot. + +eg. + +asprintf (&cmd, "cat %R", path); +==> "cat /sysroot/some\ path\ with\ spaces" + +Note: Do NOT use these when you are passing parameters to the +command{,r,v,rv}() functions. These parameters do NOT need to be +quoted because they are not passed via the shell (instead, straight to +exec). You probably want to use the sysroot_path() function however.