X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=perl%2FAmanda%2FUtil.swg;h=d85c4732ba4b4c88f798fd96f0da4fd7ca908a00;hb=691567b16c13087b31ee4c2b6d038e57872fae82;hp=e325a9e0a918bad8ac0e5ed4bb549f55dc52d3f4;hpb=c6f0a88c567f8536c498f554285aed1f8150da18;p=debian%2Famanda diff --git a/perl/Amanda/Util.swg b/perl/Amanda/Util.swg index e325a9e..d85c473 100644 --- a/perl/Amanda/Util.swg +++ b/perl/Amanda/Util.swg @@ -1,9 +1,10 @@ /* - * Copyright (c) 2007, 2008, 2009, 2010 Zmanda, Inc. All Rights Reserved. + * Copyright (c) 2007-2012 Zmanda, Inc. All Rights Reserved. * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. + * 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 the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY @@ -315,8 +316,10 @@ sub safe_overwrite_file { for (iter = $1; *iter; iter++) { $result = sv_2mortal(newSVpv(*iter, 0)); + g_free(*iter); argvi++; } + g_free($1); } } @@ -338,12 +341,16 @@ char *perl_hexdecode_string(const char *str) { %} amglue_export_tag(encoding, hexencode hexdecode); +%newobject sanitise_filename; char *sanitise_filename(char *inp); +%newobject quote_string; char *quote_string(char *); +%newobject unquote_string; char *unquote_string(char *); GPtrArray *expand_braced_alternates(char *); %newobject collapse_braced_alternates; char *collapse_braced_alternates(GPtrArray *source); +%newobject split_quoted_strings; gchar **split_quoted_strings(const gchar *string); amglue_export_tag(quoting, quote_string unquote_string skip_quoted_string sanitise_filename split_quoted_strings split_quoted_strings_friendly); @@ -443,6 +450,7 @@ set_blocking(int fd, gboolean blocking) typedef struct file_lock { %extend { + %newobject file_lock; file_lock(const char *filename) { return file_lock_new(filename); }