X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=xfer-src%2Fdest-null.c;h=c5260a5bb8b7f875f205ecb66bab2036016627de;hb=e96b2990ce0fcabdbb22d1fb966e82a1e6cb52d7;hp=5167ceb29ec3f15ad991912a08702fdedbeb72b6;hpb=2627875b7d18858bc1f9f7652811e4d8c15a23eb;p=debian%2Famanda diff --git a/xfer-src/dest-null.c b/xfer-src/dest-null.c index 5167ceb..c5260a5 100644 --- a/xfer-src/dest-null.c +++ b/xfer-src/dest-null.c @@ -1,24 +1,26 @@ /* * Amanda, The Advanced Maryland Automatic Network Disk Archiver - * Copyright (c) 2008 Zmanda Inc. + * Copyright (c) 2008,2009 Zmanda, Inc. All Rights Reserved. * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. + * 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 library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Contact information: Zmanda Inc., 465 S. Mathilda Ave., Suite 300 + * Sunnyvale, CA 94085, USA, or: http://www.zmanda.com */ -#include "amxfer.h" #include "amanda.h" +#include "amxfer.h" #include "simpleprng.h" /* @@ -49,6 +51,7 @@ typedef struct XferDestNull { gboolean do_verify; simpleprng_state_t prng; + guint64 byte_position; } XferDestNull; /* @@ -76,13 +79,15 @@ push_buffer_impl( if (self->do_verify && !elt->cancelled) { if (!simpleprng_verify_buffer(&self->prng, buf, len)) { - xfer_element_handle_error(elt, - _("verification of incoming bytestream failed")); + xfer_cancel_with_error(elt, + "verification of incoming bytestream failed; see stderr for details"), + wait_until_xfer_cancelled(elt->xfer); amfree(buf); return; } } + self->byte_position += len; if (!self->sent_info) { /* send a superfluous message (this is a testing XferElement, * after all) */ @@ -101,8 +106,8 @@ class_init( { XferElementClass *klass = XFER_ELEMENT_CLASS(selfc); static xfer_element_mech_pair_t mech_pairs[] = { - { XFER_MECH_PUSH_BUFFER, XFER_MECH_NONE, 0, 0}, - { XFER_MECH_NONE, XFER_MECH_NONE, 0, 0}, + { XFER_MECH_PUSH_BUFFER, XFER_MECH_NONE, XFER_NROPS(0), XFER_NTHREADS(0) }, + { XFER_MECH_NONE, XFER_MECH_NONE, XFER_NROPS(0), XFER_NTHREADS(0) }, }; klass->push_buffer = push_buffer_impl; @@ -150,7 +155,6 @@ xfer_dest_null( self->do_verify = TRUE; simpleprng_seed(&self->prng, prng_seed); } else { - g_assert(0); self->do_verify = FALSE; }