]>
cygwin.com Git - cygwin-apps/setup.git/blob - concat.cc
2 * Copyright (c) 2000, Red Hat, Inc.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
9 * A copy of the GNU General Public License can be found at
12 * Written by DJ Delorie <dj@cygnus.com>
16 /* See concat.h. Note that we canonicalize the result, this avoids
17 multiple slashes being interpreted as UNCs. */
19 static char *cvsid
= "\n%%% $Id$\n";
27 concat (const char *s
, ...)
33 return vconcat (s
, v
);
37 vconcat (const char *s
, va_list v
)
49 unc
= SLASH_P (*s
) && SLASH_P (s
[1]);
53 arg
= va_arg (v
, char *);
60 rv
= (char *) malloc (len
+ 1);
65 arg
= va_arg (v
, char *);
77 /* concat is only used for urls and files, so we can safely
78 canonicalize the results */
79 for (p
= d
= rv
; *p
; p
++)
82 /* special case for URLs */
83 if (*p
== ':' && p
[1] == '/' && p
[2] == '/' && p
> rv
+ 1)
88 else if (*p
== '/' || *p
== '\\')
104 for (char *t
= s
; *t
; t
++)
This page took 0.038536 seconds and 5 git commands to generate.