X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=generator%2Fgenerator_python.ml;h=9514e4ad77d0c8bd09be036babafbb3d83a5056e;hb=c018c39cc9dfe2d7bf923a87d5c71e96654499ba;hp=937c092d378517a54d88a476b86f4011c22b29a5;hpb=1521c64102c36ec4ab75529d246c92802d3f310c;p=libguestfs.git diff --git a/generator/generator_python.ml b/generator/generator_python.ml index 937c092..9514e4a 100644 --- a/generator/generator_python.ml +++ b/generator/generator_python.ml @@ -1,5 +1,5 @@ (* libguestfs - * Copyright (C) 2009-2010 Red Hat Inc. + * Copyright (C) 2009-2011 Red Hat Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -647,6 +647,18 @@ class GuestFS: let doc = String.concat "\n " doc in pr " u\"\"\"%s\"\"\"\n" doc; ); + (* Callers might pass in iterables instead of plain lists; + * convert those to plain lists because the C side of things + * cannot deal with iterables. (RHBZ#693306). + *) + List.iter ( + function + | Pathname _ | Device _ | Dev_or_Path _ | String _ | Key _ + | FileIn _ | FileOut _ | OptString _ | Bool _ | Int _ | Int64 _ + | BufferIn _ | Pointer _ -> () + | StringList n | DeviceList n -> + pr " %s = list (%s)\n" n n + ) args; pr " return libguestfsmod.%s (self._o" name; List.iter (fun arg -> pr ", %s" (name_of_argt arg)) (args@optargs); pr ")\n\n";