[afio] Trouble with examples
Hi, The first two examples for the AFIO library do not work as written. The "Hello World" example is missing a file_flag::Create[OnlyIfNotExist] flag on the "example_file.txt" op. Otherwise it never creates the file and the rest of the example becomes garbage. The "less toy" example has a bug in the parsing of the input files. It loops, incrementing argc instead of n, as it should. Even after that I cannot get the program to work, and I am unsure exactly what is wrong. The output file for the concatenated inputs is created and "truncated" to the correct size, but no data ever gets written to this file. If I use large files I have seen std::invalid_argument exceptions and even segfaults. I *think* the problem may be related to the buffers; I have tried using a simple std::vector<char> for the file_buffer_type, but this makes no difference. I have not looked at any other examples yet; I think I should get these two working correctly first... Regards, Brian
On 3 May 2015 at 21:02, Brian Ravnsgaard Riis wrote:
The first two examples for the AFIO library do not work as written.
Arse.
The "Hello World" example is missing a file_flag::Create[OnlyIfNotExist] flag on the "example_file.txt" op. Otherwise it never creates the file and the rest of the example becomes garbage.
Arse.
The "less toy" example has a bug in the parsing of the input files. It loops, incrementing argc instead of n, as it should. Even after that I cannot get the program to work, and I am unsure exactly what is wrong. The output file for the concatenated inputs is created and "truncated" to the correct size, but no data ever gets written to this file. If I use large files I have seen std::invalid_argument exceptions and even segfaults. I *think* the problem may be related to the buffers; I have tried using a simple std::vector<char> for the file_buffer_type, but this makes no difference.
I do apologise. The examples are compiled as part of testing, but not executed and the older examples probably have experienced some regex find and replace in files bitrot as various refactorings have occurred. I'll be honest in saying I gave them very little thought in the v1.3 release as they'll all need to be rewritten for the Fiber support coming in v1.4. Firstly, can you report the above issues at https://github.com/BoostGSoC13/boost.afio/issues please? I probably won't attend to them for a bit as C++ Now is very close and I'm presenting. Secondly, don't forget there is a wealth of definitely working example code in the unit tests. From v1.4 onwards I intend to make the examples also unit tests as I myself have found examples in the docs which had become non-functional over time. And if you have any problems with code failing, please do post problems onto boost-users. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Den 03-05-2015 kl. 21:34 skrev Niall Douglas:
I do apologise.
No sweat. :-)
The examples are compiled as part of testing, but not executed and the older examples probably have experienced some regex find and replace in files bitrot as various refactorings have occurred. I'll be honest in saying I gave them very little thought in the v1.3 release as they'll all need to be rewritten for the Fiber support coming in v1.4.
Looking forward to that.
Firstly, can you report the above issues at https://github.com/BoostGSoC13/boost.afio/issues please? I probably won't attend to them for a bit as C++ Now is very close and I'm presenting.
Done. Issues 70 and 71.
Secondly, don't forget there is a wealth of definitely working example code in the unit tests. From v1.4 onwards I intend to make the examples also unit tests as I myself have found examples in the docs which had become non-functional over time.
I'll start browsing through that instead. :-)
And if you have any problems with code failing, please do post problems onto boost-users.
Ah crap. I just typed `boost` in the to-field and selected the first address that showed up. I agree, this should have gone to boost-users instead. Regards, Brian
participants (2)
-
Brian Ravnsgaard Riis
-
Niall Douglas