1
0
mirror of https://github.com/libssh2/libssh2.git synced 2025-07-31 00:03:08 +03:00

os400: drop vsprintf() use

Follow-up to discussion in #1457

Plus e-mail address update.

Closes #1462
This commit is contained in:
Patrick Monnerat
2024-10-02 08:23:24 +02:00
committed by Viktor Szakats
parent a8bc96c794
commit 40e817ff50
10 changed files with 12 additions and 136 deletions

View File

@ -29,7 +29,7 @@ OS400FILES = os400/README400 os400/initscript.sh os400/make.sh \
os400/config400.default \ os400/config400.default \
os400/os400sys.c os400/ccsid.c \ os400/os400sys.c os400/ccsid.c \
os400/libssh2_config.h os400/macros.h os400/libssh2_ccsid.h \ os400/libssh2_config.h os400/macros.h os400/libssh2_ccsid.h \
os400/include/alloca.h os400/include/sys/socket.h os400/include/stdio.h \ os400/include/alloca.h os400/include/sys/socket.h \
os400/include/assert.h \ os400/include/assert.h \
os400/libssh2rpg/libssh2.rpgle.in \ os400/libssh2rpg/libssh2.rpgle.in \
os400/libssh2rpg/libssh2_ccsid.rpgle.in \ os400/libssh2rpg/libssh2_ccsid.rpgle.in \

View File

@ -18,7 +18,8 @@ additional procedures are provided for string transcoding (see below). No
wrappers to standard procedures are provided: however, nested calls to wrappers to standard procedures are provided: however, nested calls to
transcoding procedures may be used. transcoding procedures may be used.
Crypto API is provided by the IBM QC3 API library. It supports RSA, but not DSA. Crypto API is provided by the IBM QC3 API library. It supports RSA and EC,
but not DSA.
Standard compilation environment does support neither autotools nor make; Standard compilation environment does support neither autotools nor make;
@ -36,7 +37,8 @@ Compiling on OS/400:
archive extraction. Do not ask questions about these subjects if you're not archive extraction. Do not ask questions about these subjects if you're not
familiar with. familiar with.
_ As a prerequisite, QADRT development environment must be installed. _ As a prerequisite, QADRT development environment >= 20211112 must be
installed.
For more information on downloading and installing the QADRT development kit, For more information on downloading and installing the QADRT development kit,
please see https://www.ibm.com/support/pages/node/6258183 please see https://www.ibm.com/support/pages/node/6258183
_ If data compression has to be supported, ZLIB development environment must _ If data compression has to be supported, ZLIB development environment must

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) Patrick Monnerat, D+H <patrick.monnerat@dh.com> * Copyright (C) Patrick Monnerat <patrick@monnerat.net>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, * Redistribution and use in source and binary forms,

View File

@ -1,74 +0,0 @@
/*
* Copyright (C) Patrick Monnerat, D+H <patrick.monnerat@dh.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms,
* with or without modification, are permitted provided
* that the following conditions are met:
*
* Redistributions of source code must retain the above
* copyright notice, this list of conditions and the
* following disclaimer.
*
* Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* Neither the name of the copyright holder nor the names
* of any other contributors may be used to endorse or
* promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
* CONTRIBUTORS "AS IS" AND ANY EXPRESS 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 COPYRIGHT OWNER OR
* 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.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef LIBSSH2_STDIO_H
#define LIBSSH2_STDIO_H
/*
* <stdio.h> wrapper.
* Its goal is to redefine snprintf/vsnprintf which are not supported by QADRT.
*/
#include <qadrt.h>
#if __ILEC400_TGTVRM__ >= 710
# include_next <stdio.h>
#elif __ILEC400_TGTVRM__ >= 510
# ifndef __SRCSTMF__
# include <QADRT/h/stdio>
# else
# include </QIBM/ProdData/qadrt/include/stdio.h>
# endif
#endif
extern int _libssh2_os400_vsnprintf(char *dst, size_t len,
const char *fmt, va_list args);
extern int _libssh2_os400_snprintf(char *dst, size_t len,
const char *fmt, ...);
#ifndef LIBSSH2_DISABLE_QADRT_EXT
# define vsnprintf(dst, len, fmt, args) \
_libssh2_os400_vsnprintf((dst), (len), (fmt), (args))
# define snprintf _libssh2_os400_snprintf
#endif
#endif
/* vim: set expandtab ts=4 sw=4: */

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) Patrick Monnerat, D+H <patrick.monnerat@dh.com> * Copyright (C) Patrick Monnerat <patrick@monnerat.net>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, * Redistribution and use in source and binary forms,

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) Patrick Monnerat, D+H <patrick.monnerat@dh.com> * Copyright (C) Patrick Monnerat <patrick@monnerat.net>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, * Redistribution and use in source and binary forms,

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) Patrick Monnerat, D+H <patrick.monnerat@dh.com> * Copyright (C) Patrick Monnerat <patrick@monnerat.net>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, * Redistribution and use in source and binary forms,

View File

@ -1,4 +1,4 @@
* Copyright (C) Patrick Monnerat, D+H <patrick.monnerat@dh.com> * Copyright (C) Patrick Monnerat <patrick@monnerat.net>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, * Redistribution and use in source and binary forms,

View File

@ -1,4 +1,4 @@
* Copyright (C) Patrick Monnerat, D+H <patrick.monnerat@dh.com> * Copyright (C) Patrick Monnerat <patrick@monnerat.net>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, * Redistribution and use in source and binary forms,

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) Patrick Monnerat, D+H <patrick.monnerat@dh.com> * Copyright (C) Patrick Monnerat <patrick@monnerat.net>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, * Redistribution and use in source and binary forms,
@ -128,58 +128,6 @@ _libssh2_os400_connect(int sd, struct sockaddr *destaddr, int addrlen)
} }
int
_libssh2_os400_vsnprintf(char *dst, size_t len, const char *fmt, va_list args)
{
size_t l = 4096;
int i;
char *buf;
if(!dst || !len) {
errno = EINVAL;
return -1;
}
if(l < len)
l = len;
buf = alloca(l);
if(!buf) {
errno = ENOMEM;
return -1;
}
/* !checksrc! disable BANNEDFUNC 1 */ /* FIXME */
i = vsprintf(buf, fmt, args);
if(i < 0)
return i;
if(--len > i)
len = i;
if(len)
memcpy(dst, buf, len);
dst[len] = '\0';
return len;
}
/* VARARGS3 */
int
_libssh2_os400_snprintf(char *dst, size_t len, const char *fmt, ...)
{
va_list args;
int ret;
va_start(args, fmt);
ret = _libssh2_os400_vsnprintf(dst, len, fmt, args);
va_end(args);
return ret;
}
#ifdef LIBSSH2_HAVE_ZLIB #ifdef LIBSSH2_HAVE_ZLIB
int int
_libssh2_os400_inflateInit_(z_streamp strm, _libssh2_os400_inflateInit_(z_streamp strm,