X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=perl%2FAmanda%2FUtil.swg;h=d85c4732ba4b4c88f798fd96f0da4fd7ca908a00;hb=d28952249e392eb31bc8eecc53f6c477f30c617b;hp=e4a3e6b655835fd6c893c5df728bb8078b21b17b;hpb=b116e9366c7b2ea2c2eb53b0a13df4090e176235;p=debian%2Famanda diff --git a/perl/Amanda/Util.swg b/perl/Amanda/Util.swg index e4a3e6b..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); } @@ -452,7 +460,10 @@ typedef struct file_lock { } int lock(); + int lock_wr(); + int lock_rd(); int unlock(); + int locked(); %typemap(in) (const char *data, size_t len) { $1 = SvPV($input, $2); @@ -630,6 +641,16 @@ sub unmarshal_tapespec { %} +amglue_export_ok( + match_host match_disk match_datestamp match_level +); + +gboolean match_host(char *pat, char *value); +gboolean match_disk(char *pat, char *value); +gboolean match_datestamp(char *pat, char *value); +gboolean match_level(char *pat, char *value); + + /* ------------------------------------------------------------------------- * Functions below this line are only meant to be called within this module; * do not call them externally. */