From: Michael Prokop Date: Sun, 18 Oct 2009 22:49:19 +0000 (+0200) Subject: Apply patch by Thorsten Glaser which prepares code for his future work X-Git-Tag: v0.9.13~29 X-Git-Url: https://git.grml.org/?p=grml2usb.git;a=commitdiff_plain;h=68df4a8c900486fc17138b4da1fe1f0847c45396 Apply patch by Thorsten Glaser which prepares code for his future work --- diff --git a/grml2usb b/grml2usb index b9df22f..2bb5439 100755 --- a/grml2usb +++ b/grml2usb @@ -88,6 +88,21 @@ class CriticalException(Exception): pass +# The following two functions help to operate on strings as +# array (list) of bytes (octets). In Python 3000, the bytes +# datatype will need to be used. This is intended for using +# with manipulation of files on the octet level, like shell +# arrays, e.g. in MBR creation. + +def array2string(a): + """Convert a list of integers [0;255] to a string.""" + return struct.pack("%sB" % len(a), *a) + +def string2array(s): + """Convert a (bytes) string into a list of integers.""" + return struct.unpack("%sB" % len(s), s) + + def cleanup(): """Cleanup function to make sure there aren't any mounted devices left behind. """