ReactOS
0.4.16-dev-13-ge2fc578
wmakpath.c
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS CRT library
3
* LICENSE: See COPYING in the top level directory
4
* FILE: lib/sdk/crt/stdlib/wmakpath.c
5
* PURPOSE: Creates a unicode path
6
* PROGRAMMERS: Wine team
7
* Copyright 1996,1998 Marcus Meissner
8
* Copyright 1996 Jukka Iivonen
9
* Copyright 1997,2000 Uwe Bonnes
10
* Copyright 2000 Jon Griffiths
11
*
12
*/
13
14
#include <precomp.h>
15
16
/*
17
* @implemented
18
*/
19
void
_wmakepath
(
wchar_t
*
path
,
const
wchar_t
*
drive
,
const
wchar_t
*
dir
,
const
wchar_t
* fname,
const
wchar_t
*
ext
)
20
{
21
wchar_t
*
p
=
path
;
22
23
if
( !
path
)
24
return
;
25
26
if
(
drive
&&
drive
[0])
27
{
28
*
p
++ =
drive
[0];
29
*
p
++ =
':'
;
30
}
31
if
(
dir
&&
dir
[0])
32
{
33
size_t
len
=
strlenW
(
dir
);
34
memmove
(
p
,
dir
,
len
*
sizeof
(
wchar_t
));
35
p
+=
len
;
36
if
(
p
[-1] !=
'/'
&&
p
[-1] !=
'\\'
)
37
*
p
++ =
'\\'
;
38
}
39
if
(fname && fname[0])
40
{
41
size_t
len
=
strlenW
(fname);
42
memmove
(
p
, fname,
len
*
sizeof
(
wchar_t
));
43
p
+=
len
;
44
}
45
if
(
ext
&&
ext
[0])
46
{
47
if
(
ext
[0] !=
'.'
)
48
*
p
++ =
'.'
;
49
strcpyW
(
p
,
ext
);
50
}
51
else
52
*
p
=
'\0'
;
53
}
dir
unsigned int dir
Definition:
maze.c:112
ext
static const WCHAR *const ext[]
Definition:
module.c:53
p
GLfloat GLfloat p
Definition:
glext.h:8902
len
GLenum GLsizei len
Definition:
glext.h:6722
memmove
#define memmove(s1, s2, n)
Definition:
mkisofs.h:881
strlenW
#define strlenW(s)
Definition:
unicode.h:34
strcpyW
#define strcpyW(d, s)
Definition:
unicode.h:35
drive
Definition:
filesystem.c:103
path
Definition:
wbemprox_private.h:188
_wmakepath
void _wmakepath(wchar_t *path, const wchar_t *drive, const wchar_t *dir, const wchar_t *fname, const wchar_t *ext)
Definition:
wmakpath.c:19
sdk
lib
crt
stdlib
wmakpath.c
Generated on Fri Sep 13 2024 06:13:04 for ReactOS by
1.9.6