Subject: Re: [boost] gil::io "non-review" (was: [gil] Can not open test.jpg)
From: Christian Henning (chhenning_at_[hidden])
Date: 2010-03-23 14:47:25


Hi Phil, let's start at the beginning:

>> Next we clean up and issue an exception. Hope this makes sense.
>
> No, it doesn't make sense.  Sorry if I am missing something important.
>  Maybe someone else would like to have a look at this code?  It's here:
>  http://gil-contributions.googlecode.com/svn/trunk/gil_2/boost/gil/extension/io_new/formats/jpeg/read.hpp
> near the start of the file.
>

My understanding setjmp/longjmp is this:

#include <iostream>
#include <csetjmp>

static jmp_buf mark;

void try_something()
{
    if( setjmp( mark ))
    {
        std::cout << "we are back" << std::endl;
    }
}

void error_exit()
{
    std::cout << "ups we had a problem" << std::endl;
    longjmp( mark, 1 );
}

int main( int argc, char* argv[] )
{
    try_something();
    error_exit();

    return 0;
}

When error_exit is called we are jumping back to where setjmp was called before.

Do you agree that's the correct behavior?

Regards,
Christian