Index: ossp-pkg/l2/l2_epreuve.c RCS File: /v/ossp/cvs/ossp-pkg/l2/Attic/l2_epreuve.c,v co -q -kk -p'1.1' '/v/ossp/cvs/ossp-pkg/l2/Attic/l2_epreuve.c,v' | diff -u /dev/null - -L'ossp-pkg/l2/l2_epreuve.c' 2>/dev/null --- ossp-pkg/l2/l2_epreuve.c +++ - 2024-05-04 08:30:29.674230733 +0200 @@ -0,0 +1,95 @@ +/* +** L2 - OSSP Logging Library +** Copyright (c) 2001 The OSSP Project (http://www.ossp.org/) +** Copyright (c) 2001 Cable & Wireless Deutschland (http://www.cw.com/de/) +** +** This file is part of OSSP L2, a flexible logging library which +** can be found at http://www.ossp.org/pkg/l2/. +** +** Permission to use, copy, modify, and distribute this software for +** any purpose with or without fee is hereby granted, provided that +** the above copyright notice and this permission notice appear in all +** copies. +** +** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +** SUCH DAMAGE. +** +** l2_epreuve.c: channel-level test code +** +*/ + +#include "l2.h" +#define SZ_LOGSTRING "String LogTest c'est deja la.\n" + +/*--------------------------------------------------------*/ +/* void throwup(char *pszError) */ +/* Quick exception kludge */ +/*--------------------------------------------------------*/ +void throwup(char *pszError) +{ + fprintf(stderr, pszError); + exit(1); +} + +/*--------------------------------------------------------*/ +/* int main(int argc, char *argv[]) */ +/* Main program code */ +/*--------------------------------------------------------*/ +int main(int argc, char *argv[]) +{ + int iRet = 0; + l2_channel_t *pMyChannel = NULL; + l2_handler_t *g_pFileHandler = &l2_handler_file; + + if (argc < 2) + { + fprintf(stdout, "Usage: %s filepath\n", *argv); + exit(1); + } + + fprintf(stdout, "Trying file channel handler...\n"); + + pMyChannel = l2_channel_create(g_pFileHandler); + if (pMyChannel == NULL) + throwup("Channel create failed!\n"); + + /* Params "path", , "append", , "perm", <0xValue>, */ + iRet = l2_channel_configure(pMyChannel, "path", argv[1],\ + "append", TRUE, "perm", 0x755); + if (iRet != L2_OK) + throwup("Channel configure failed!\n"); + + iRet = l2_channel_open(pMyChannel); + if (iRet != L2_OK) + throwup("Channel open failed!\n"); + + /* Need to subtract one to throw away null termination */ + iRet = l2_channel_write(pMyChannel, SZ_LOGSTRING, sizeof(SZ_LOGSTRING) - 1); + if (iRet != L2_OK) + throwup("Channel write failed!\n"); + + iRet = l2_channel_flush(pMyChannel); + if (iRet != L2_OK) + throwup("Channel flush failed!\n"); + + iRet = l2_channel_close(pMyChannel); + if (iRet != L2_OK) + throwup("Channel close failed!\n"); + + iRet = l2_channel_destroy(pMyChannel); + if (iRet != L2_OK) + throwup("Channel destroy failed!\n"); + + fprintf(stdout, "Success, exiting...\n"); + return 0; +}