/* Copyright Richard A. O'Keefe.
Copyright ( c ) 2000 TXT DataKonsult Ab & Monty Program Ab
Copyright ( c ) 2009 - 2011 , Monty Program Ab
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions are
met :
1 . Redistributions of source code must retain the above copyright
notice , this list of conditions and the following disclaimer .
2 . Redistributions in binary form must the following disclaimer in
the documentation and / or other materials provided with the
distribution .
THIS SOFTWARE IS PROVIDED BY < COPYRIGHT HOLDER > ` ` 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 < COPYRIGHT HOLDER > 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 .
*/
/* File : strxnmov.c
Author : Richard A . O ' Keefe .
Updated : 2 June 1984
Defines : strxnmov ( )
strxnmov ( dst , len , src1 , . . . , srcn , NullS )
moves the first len characters of the concatenation of src1 , . . . , srcn
to dst and add a closing NUL character .
It is just like strnmov except that it concatenates multiple sources .
Beware : the last argument should be the null character pointer .
Take VERY great care not to omit it ! Also be careful to use NullS
and NOT to use 0 , as on some machines 0 is not the same size as a
character pointer , or not the same bit pattern as NullS .
NOTE
strxnmov is like strnmov in that it moves up to len
characters ; dst will be padded on the right with one ' \ 0 ' character .
if total - string - length > = length then dst [ length ] will be set to \ 0
*/
#include "strings_def.h"
#include <stdarg.h>
char *strxnmov(char *dst, size_t len, const char *src, ...)
{
va_list pvar;
char *end_of_dst=dst+len;
va_start(pvar,src);
while (src != NullS)
{
do
{
if (dst == end_of_dst)
goto end;
}
while ((*dst++ = *src++));
dst--;
src = va_arg(pvar, char *);
}
end:
*dst=0 ;
va_end(pvar);
return dst;
}
Messung V0.5 in Prozent C=98 H=34 G=73
¤ Dauer der Verarbeitung: 0.18 Sekunden
(vorverarbeitet am 2026-10-08)
¤
*© Formatika GbR, Deutschland