Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Postfix/src/util/   (Postfix Mailserver Version 3.11©)  Datei vom 18.10.2013 mit Größe 1 kB image not shown  

Quelle  concatenate.c

  Sprache: C
 

/*++
/* NAME
/* concatenate 3
/* SUMMARY
/* concatenate strings
/* SYNOPSIS
/* #include <stringops.h>
/*
/* char *concatenate(str, ...)
/* const char *str;
/* DESCRIPTION
/* The \fBconcatenate\fR routine concatenates a null-terminated
/* list of pointers to null-terminated character strings.
/* The result is dynamically allocated and should be passed to myfree()
/* when no longer needed.
/* LICENSE
/* .ad
/* .fi
/* The Secure Mailer license must be distributed with this software.
/* AUTHOR(S)
/* Wietse Venema
/* IBM T.J. Watson Research
/* P.O. Box 704
/* Yorktown Heights, NY 10598, USA
/*--*/


/* System library. */

#include <sys_defs.h>
#include <stdlib.h>   /* 44BSD stdarg.h uses abort() */
#include <stdarg.h>
#include <string.h>

/* Utility library. */

#include "mymalloc.h"
#include "stringops.h"
#include "compat_va_copy.h"

/* concatenate - concatenate null-terminated list of strings */

char   *concatenate(const char *arg0,...)
{
    char   *result;
    va_list ap;
    va_list ap2;
    ssize_t len;
    char   *arg;

    /*
     * Initialize argument lists.
     */

    va_start(ap, arg0);
    VA_COPY(ap2, ap);

    /*
     * Compute the length of the resulting string.
     */

    len = strlen(arg0);
    while ((arg = va_arg(ap, char *)) != 0)
 len += strlen(arg);
    va_end(ap);

    /*
     * Build the resulting string. Don't care about wasting a CPU cycle.
     */

    result = mymalloc(len + 1);
    strcpy(result, arg0);
    while ((arg = va_arg(ap2, char *)) != 0)
 strcat(result, arg);
    va_end(ap2);
    return (result);
}

Messung V0.5 in Prozent
C=90 H=87 G=88

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.