git.annexia.org
/
libguestfs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
28e1858
)
Bug: write_file doesn't work with strings containing ASCII NUL.
author
Richard Jones
<rjones@redhat.com>
Fri, 8 May 2009 13:27:02 +0000
(14:27 +0100)
committer
Richard Jones
<rjones@redhat.com>
Fri, 8 May 2009 13:27:02 +0000
(14:27 +0100)
BUGS
patch
|
blob
|
history
src/generator.ml
patch
|
blob
|
history
diff --git
a/BUGS
b/BUGS
index
60bb52e
..
ba72ad2
100644
(file)
--- a/
BUGS
+++ b/
BUGS
@@
-49,3
+49,5
@@
Setting PATH to include /usr/sbin solves this temporarily.
"internal error: reply callback called twice"
This bug is rare but well-understood. Unfortunately it's also
quite hard to fix cleanly.
"internal error: reply callback called twice"
This bug is rare but well-understood. Unfortunately it's also
quite hard to fix cleanly.
+
+[libguestfs] write-file does not support strings containing ASCII NUL.
diff --git
a/src/generator.ml
b/src/generator.ml
index
ef8b3aa
..
4679add
100755
(executable)
--- a/
src/generator.ml
+++ b/
src/generator.ml
@@
-1053,7
+1053,12
@@
with length C<size>.
As a special case, if C<size> is C<0>
then the length is calculated using C<strlen> (so in this case
As a special case, if C<size> is C<0>
then the length is calculated using C<strlen> (so in this case
-the content cannot contain embedded ASCII NULs).");
+the content cannot contain embedded ASCII NULs).
+
+I<NB.> Owing to a bug, writing content containing ASCII NUL
+characters does I<not> work, even if the length is specified.
+We hope to resolve this bug in a future version. In the meantime
+use C<guestfs_upload>.");
("umount", (RErr, [String "pathordevice"]), 45, [FishAlias "unmount"],
[InitEmpty, TestOutputList (
("umount", (RErr, [String "pathordevice"]), 45, [FishAlias "unmount"],
[InitEmpty, TestOutputList (
@@
-3815,6
+3820,7
@@
and c_quote str =
let str = replace_str str "\r" "\\r" in
let str = replace_str str "\n" "\\n" in
let str = replace_str str "\t" "\\t" in
let str = replace_str str "\r" "\\r" in
let str = replace_str str "\n" "\\n" in
let str = replace_str str "\t" "\\t" in
+ let str = replace_str str "\000" "\\0" in
str
(* Generate a lot of different functions for guestfish. *)
str
(* Generate a lot of different functions for guestfish. *)