summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-04-19 14:41:01 +0100
committerRichard Jones <rjones@redhat.com>2010-04-19 15:08:45 +0100
commit3119aa687d4d594b50ee9df5ff6e8d709eb7ca85 (patch)
treef950fe7f4bce7b9795442b94e35afcef34159c66 /src
parent819f30e332160ba05f7bf6dd068622cc07bf9ffc (diff)
downloadlibguestfs-3119aa687d4d594b50ee9df5ff6e8d709eb7ca85.tar.gz
libguestfs-3119aa687d4d594b50ee9df5ff6e8d709eb7ca85.tar.xz
libguestfs-3119aa687d4d594b50ee9df5ff6e8d709eb7ca85.zip
fish: Allow -<<END as a syntax for uploading "heredocs".
For example: ><fs> upload -<<END /foo some data some more data END ><fs> cat /foo some data some more data
Diffstat (limited to 'src')
-rwxr-xr-xsrc/generator.ml22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/generator.ml b/src/generator.ml
index 65efd665..580cb143 100755
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -7385,11 +7385,11 @@ and generate_fish_cmds () =
function
| Device n
| String n
- | OptString n
- | FileIn n
- | FileOut n -> pr " const char *%s;\n" n
+ | OptString n -> pr " const char *%s;\n" n
| Pathname n
- | Dev_or_Path n -> pr " char *%s;\n" n
+ | Dev_or_Path n
+ | FileIn n
+ | FileOut n -> pr " char *%s;\n" n
| StringList n | DeviceList n -> pr " char **%s;\n" n
| Bool n -> pr " int %s;\n" n
| Int n -> pr " int %s;\n" n
@@ -7446,11 +7446,11 @@ and generate_fish_cmds () =
pr " %s = STRNEQ (argv[%d], \"\") ? argv[%d] : NULL;\n"
name i i
| FileIn name ->
- pr " %s = STRNEQ (argv[%d], \"-\") ? argv[%d] : \"/dev/stdin\";\n"
- name i i
+ pr " %s = file_in (argv[%d]);\n" name i;
+ pr " if (%s == NULL) return -1;\n" name
| FileOut name ->
- pr " %s = STRNEQ (argv[%d], \"-\") ? argv[%d] : \"/dev/stdout\";\n"
- name i i
+ pr " %s = file_out (argv[%d]);\n" name i;
+ pr " if (%s == NULL) return -1;\n" name
| StringList name | DeviceList name ->
pr " %s = parse_string_list (argv[%d]);\n" name i;
pr " if (%s == NULL) return -1;\n" name;
@@ -7479,10 +7479,12 @@ and generate_fish_cmds () =
List.iter (
function
| Device name | String name
- | OptString name | FileIn name | FileOut name | Bool name
+ | OptString name | Bool name
| Int name | Int64 name -> ()
- | Pathname name | Dev_or_Path name ->
+ | Pathname name | Dev_or_Path name | FileOut name ->
pr " free (%s);\n" name
+ | FileIn name ->
+ pr " free_file_in (%s);\n" name
| StringList name | DeviceList name ->
pr " free_strings (%s);\n" name
) (snd style);