1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
-
+
|
/*
* tclUnixCompat.c
*
* Written by: Zoran Vasiljevic (vasiljevic@users.sourceforge.net).
*
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* RCS: @(#) $Id: tclUnixCompat.c,v 1.8.6.6 2008/03/03 04:35:13 dgp Exp $
* RCS: @(#) $Id: tclUnixCompat.c,v 1.8.6.7 2009/01/09 14:17:15 dgp Exp $
*
*/
#include "tclInt.h"
#include <pwd.h>
#include <grp.h>
#include <errno.h>
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
-
-
-
-
+
+
+
+
|
* This macro assumes that the pointer 'buffer' was created from an aligned
* pointer by adding the 'length'. If this 'length' was not a multiple of the
* 'size' the result is unaligned and PadBuffer corrects both the pointer,
* _and_ the 'length'. The latter means that future increments of 'buffer' by
* 'length' stay aligned.
*/
#define PadBuffer(buffer, length, size) \
if (((length) % (size))) { \
(buffer) += ((size) - ((length) % (size))); \
(length) += ((size) - ((length) % (size))); \
#define PadBuffer(buffer, length, size) \
if (((length) % (size))) { \
(buffer) += ((size) - ((length) % (size))); \
(length) += ((size) - ((length) % (size))); \
}
/*
* Per-thread private storage used to store values returned from MT-unsafe
* library calls.
*/
|