Commit | Line | Data |
---|---|---|
0ed44c70 | 1 | ?RCS: $Id: d_getpwnam_r.U,v 0RCS: |
55e6b58d | 2 | ?RCS: Copyright (c) 2002,2003 Jarkko Hietaniemi |
0ed44c70 JH |
3 | ?RCS: |
4 | ?RCS: You may distribute under the terms of either the GNU General Public | |
5 | ?RCS: License or the Artistic License, as specified in the README file. | |
6 | ?RCS: | |
7 | ?RCS: Generated by the reentr.pl from the Perl 5.8 distribution. | |
8 | ?RCS: | |
89d9cf69 | 9 | ?MAKE:d_getpwnam_r getpwnam_r_proto: Inlibc Protochk Hasproto i_systypes usethreads i_pwd |
eed88ce0 | 10 | ?MAKE: -pick add $@ %< |
959f3c4c | 11 | ?S:d_getpwnam_r: |
eed88ce0 JH |
12 | ?S: This variable conditionally defines the HAS_GETPWNAM_R symbol, |
13 | ?S: which indicates to the C program that the getpwnam_r() | |
14 | ?S: routine is available. | |
959f3c4c | 15 | ?S:. |
8e87a72a | 16 | ?S:getpwnam_r_proto: |
eed88ce0 | 17 | ?S: This variable encodes the prototype of getpwnam_r. |
05fdd8fd JH |
18 | ?S: It is zero if d_getpwnam_r is undef, and one of the |
19 | ?S: REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r | |
20 | ?S: is defined. | |
8e87a72a | 21 | ?S:. |
959f3c4c | 22 | ?C:HAS_GETPWNAM_R: |
eed88ce0 JH |
23 | ?C: This symbol, if defined, indicates that the getpwnam_r routine |
24 | ?C: is available to getpwnam re-entrantly. | |
959f3c4c | 25 | ?C:. |
8e87a72a | 26 | ?C:GETPWNAM_R_PROTO: |
eed88ce0 | 27 | ?C: This symbol encodes the prototype of getpwnam_r. |
05fdd8fd JH |
28 | ?C: It is zero if d_getpwnam_r is undef, and one of the |
29 | ?C: REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r | |
30 | ?C: is defined. | |
8e87a72a | 31 | ?C:. |
eed88ce0 JH |
32 | ?H:#$d_getpwnam_r HAS_GETPWNAM_R /**/ |
33 | ?H:#define GETPWNAM_R_PROTO $getpwnam_r_proto /**/ | |
959f3c4c | 34 | ?H:. |
f42a43f5 | 35 | ?T:try hdrs d_getpwnam_r_proto |
959f3c4c | 36 | ?LINT:set d_getpwnam_r |
46953654 | 37 | ?LINT:set getpwnam_r_proto |
959f3c4c JH |
38 | : see if getpwnam_r exists |
39 | set getpwnam_r d_getpwnam_r | |
40 | eval $inlibc | |
8e87a72a JH |
41 | case "$d_getpwnam_r" in |
42 | "$define") | |
f2dee704 | 43 | hdrs="$i_systypes sys/types.h define stdio.h $i_pwd pwd.h" |
9bb0d1dd JH |
44 | case "$d_getpwnam_r_proto:$usethreads" in |
45 | ":define") d_getpwnam_r_proto=define | |
f42a43f5 JH |
46 | set d_getpwnam_r_proto getpwnam_r $hdrs |
47 | eval $hasproto ;; | |
48 | *) ;; | |
49 | esac | |
50 | case "$d_getpwnam_r_proto" in | |
51 | define) | |
46953654 | 52 | case "$getpwnam_r_proto" in |
5002a627 | 53 | ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, size_t, struct passwd**);' |
f2dee704 | 54 | ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBWR ;; |
46953654 JH |
55 | esac |
56 | case "$getpwnam_r_proto" in | |
5002a627 | 57 | ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, int, struct passwd**);' |
0ed44c70 JH |
58 | ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBIR ;; |
59 | esac | |
60 | case "$getpwnam_r_proto" in | |
5002a627 | 61 | ''|0) try='struct passwd* getpwnam_r(const char*, struct passwd*, char*, int);' |
f2dee704 | 62 | ./protochk "extern $try" $hdrs && getpwnam_r_proto=S_CSBI ;; |
46953654 JH |
63 | esac |
64 | case "$getpwnam_r_proto" in | |
5002a627 | 65 | ''|0) try='int getpwnam_r(const char*, struct passwd*, char*, int);' |
f2dee704 | 66 | ./protochk "extern $try" $hdrs && getpwnam_r_proto=I_CSBI ;; |
46953654 JH |
67 | esac |
68 | case "$getpwnam_r_proto" in | |
81d83c43 | 69 | ''|0) d_getpwnam_r=undef |
5002a627 | 70 | getpwnam_r_proto=0 |
f42a43f5 | 71 | echo "Disabling getpwnam_r, cannot determine prototype." >&4 ;; |
f2dee704 JH |
72 | * ) case "$getpwnam_r_proto" in |
73 | REENTRANT_PROTO*) ;; | |
74 | *) getpwnam_r_proto="REENTRANT_PROTO_$getpwnam_r_proto" ;; | |
75 | esac | |
76 | echo "Prototype: $try" ;; | |
46953654 | 77 | esac |
8e87a72a | 78 | ;; |
9bb0d1dd JH |
79 | *) case "$usethreads" in |
80 | define) echo "getpwnam_r has no prototype, not using it." >&4 ;; | |
81 | esac | |
81d83c43 JH |
82 | d_getpwnam_r=undef |
83 | getpwnam_r_proto=0 | |
9bb0d1dd | 84 | ;; |
f42a43f5 JH |
85 | esac |
86 | ;; | |
5002a627 JH |
87 | *) getpwnam_r_proto=0 |
88 | ;; | |
8e87a72a | 89 | esac |
959f3c4c | 90 |