@@ -74,6 +74,8 @@ static MYSQL_FILE instrumented_stdin;
74
74
*/
75
75
my_bool my_basic_init (void )
76
76
{
77
+ char * str ;
78
+
77
79
if (my_basic_init_done )
78
80
return 0 ;
79
81
my_basic_init_done = 1 ;
@@ -82,6 +84,19 @@ my_bool my_basic_init(void)
82
84
my_umask = 0660 ; /* Default umask for new files */
83
85
my_umask_dir = 0700 ; /* Default umask for new directories */
84
86
87
+ #ifndef VMS
88
+ /* Default creation of new files */
89
+ if ((str = getenv ("UMASK" )) != 0 )
90
+ my_umask = (int ) (atoi_octal (str ) | 0600 );
91
+ /* Default creation of new dir's */
92
+ if ((str = getenv ("UMASK_DIR" )) != 0 )
93
+ my_umask_dir = (int ) (atoi_octal (str ) | 0700 );
94
+ #endif
95
+
96
+ /* $HOME is needed early to parse configuration files located in ~/ */
97
+ if ((home_dir = getenv ("HOME" )) != 0 )
98
+ home_dir = intern_filename (home_dir_buff , home_dir );
99
+
85
100
init_glob_errs ();
86
101
87
102
instrumented_stdin .m_file = stdin ;
@@ -124,7 +139,6 @@ my_bool my_basic_init(void)
124
139
125
140
my_bool my_init (void )
126
141
{
127
- char * str ;
128
142
if (my_init_done )
129
143
return 0 ;
130
144
my_init_done = 1 ;
@@ -142,24 +156,11 @@ my_bool my_init(void)
142
156
{
143
157
DBUG_ENTER ("my_init" );
144
158
DBUG_PROCESS ((char * ) (my_progname ? my_progname : "unknown" ));
145
- if (!home_dir )
146
- { /* Don't initialize twice */
147
- my_win_init ();
148
- if ((home_dir = getenv ("HOME" )) != 0 )
149
- home_dir = intern_filename (home_dir_buff ,home_dir );
150
- #ifndef VMS
151
- /* Default creation of new files */
152
- if ((str = getenv ("UMASK" )) != 0 )
153
- my_umask = (int ) (atoi_octal (str ) | 0600 );
154
- /* Default creation of new dir's */
155
- if ((str = getenv ("UMASK_DIR" )) != 0 )
156
- my_umask_dir = (int ) (atoi_octal (str ) | 0700 );
157
- #endif
159
+ my_win_init ();
158
160
#ifdef VMS
159
- init_ctype (); /* Stupid linker don't link _ctype.c */
161
+ init_ctype (); /* Stupid linker don't link _ctype.c */
160
162
#endif
161
- DBUG_PRINT ("exit" ,("home: '%s'" ,home_dir ));
162
- }
163
+ DBUG_PRINT ("exit" , ("home: '%s'" , home_dir ));
163
164
#ifdef __WIN__
164
165
win32_init_tcp_ip ();
165
166
#endif
0 commit comments