From: Richard W.M. Jones Date: Mon, 4 Apr 2011 11:48:02 +0000 (+0100) Subject: python: Convert any iterable argument to a list (RHBZ#693324). X-Git-Tag: 1.8.5~6 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=7ef60bb65dbed22be567166fc97dffdd0d0e97e6;p=libguestfs.git python: Convert any iterable argument to a list (RHBZ#693324). Thanks to Erez Shinan. (cherry picked from commit afa17809599f3ebc82c3feef025ca812fb26c9fe) --- 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";