@@ -122,59 +122,54 @@ main(int argc, char **argv)
122122 { "staging" , no_argument , NULL , 2 },
123123 { NULL , 0 , NULL , 0 }
124124 };
125- struct xbps_handle xh ;
125+ struct xbps_handle xh = { 0 } ;
126126 struct xferstat xfer ;
127- const char * rootdir , * cachedir , * confdir ;
128- int i , c , flags , rv , fflag = 0 ;
127+ int i , c , rv , fflag = 0 ;
129128 bool syncf , yes , force , drun , update ;
130129 int maxcols , eexist = 0 ;
131130
132- rootdir = cachedir = confdir = NULL ;
133- flags = rv = 0 ;
134131 syncf = yes = force = drun = update = false;
135132
136- memset (& xh , 0 , sizeof (xh ));
137-
138133 while ((c = getopt_long (argc , argv , shortopts , longopts , NULL )) != -1 ) {
139134 switch (c ) {
140135 case 1 :
141- flags |= XBPS_FLAG_INSTALL_REPRO ;
136+ xh . flags |= XBPS_FLAG_INSTALL_REPRO ;
142137 break ;
143138 case 2 :
144- flags |= XBPS_FLAG_USE_STAGE ;
139+ xh . flags |= XBPS_FLAG_USE_STAGE ;
145140 break ;
146141 case 'A' :
147- flags |= XBPS_FLAG_INSTALL_AUTO ;
142+ xh . flags |= XBPS_FLAG_INSTALL_AUTO ;
148143 break ;
149144 case 'C' :
150- confdir = optarg ;
145+ xbps_strlcpy ( xh . confdir , optarg , sizeof ( xh . confdir )) ;
151146 break ;
152147 case 'c' :
153- cachedir = optarg ;
148+ xbps_strlcpy ( xh . cachedir , optarg , sizeof ( xh . cachedir )) ;
154149 break ;
155150 case 'd' :
156- flags |= XBPS_FLAG_DEBUG ;
151+ xh . flags |= XBPS_FLAG_DEBUG ;
157152 break ;
158153 case 'D' :
159- flags |= XBPS_FLAG_DOWNLOAD_ONLY ;
154+ xh . flags |= XBPS_FLAG_DOWNLOAD_ONLY ;
160155 break ;
161156 case 'f' :
162157 fflag ++ ;
163158 if (fflag > 1 )
164- flags |= XBPS_FLAG_FORCE_UNPACK ;
159+ xh . flags |= XBPS_FLAG_FORCE_UNPACK ;
165160 force = true;
166161 break ;
167162 case 'h' :
168163 usage (false);
169164 /* NOTREACHED */
170165 case 'I' :
171- flags |= XBPS_FLAG_IGNORE_FILE_CONFLICTS ;
166+ xh . flags |= XBPS_FLAG_IGNORE_FILE_CONFLICTS ;
172167 break ;
173168 case 'i' :
174- flags |= XBPS_FLAG_IGNORE_CONF_REPOS ;
169+ xh . flags |= XBPS_FLAG_IGNORE_CONF_REPOS ;
175170 break ;
176171 case 'M' :
177- flags |= XBPS_FLAG_REPOS_MEMSYNC ;
172+ xh . flags |= XBPS_FLAG_REPOS_MEMSYNC ;
178173 break ;
179174 case 'n' :
180175 drun = true;
@@ -183,19 +178,19 @@ main(int argc, char **argv)
183178 xbps_repo_store (& xh , optarg );
184179 break ;
185180 case 'r' :
186- rootdir = optarg ;
181+ xbps_strlcpy ( xh . rootdir , optarg , sizeof ( xh . rootdir )) ;
187182 break ;
188183 case 'S' :
189184 syncf = true;
190185 break ;
191186 case 'U' :
192- flags |= XBPS_FLAG_UNPACK_ONLY ;
187+ xh . flags |= XBPS_FLAG_UNPACK_ONLY ;
193188 break ;
194189 case 'u' :
195190 update = true;
196191 break ;
197192 case 'v' :
198- flags |= XBPS_FLAG_VERBOSE ;
193+ xh . flags |= XBPS_FLAG_VERBOSE ;
199194 break ;
200195 case 'V' :
201196 printf ("%s\n" , XBPS_RELVER );
@@ -218,14 +213,7 @@ main(int argc, char **argv)
218213 xh .state_cb = state_cb ;
219214 xh .fetch_cb = fetch_file_progress_cb ;
220215 xh .fetch_cb_data = & xfer ;
221- if (rootdir )
222- xbps_strlcpy (xh .rootdir , rootdir , sizeof (xh .rootdir ));
223- if (cachedir )
224- xbps_strlcpy (xh .cachedir , cachedir , sizeof (xh .cachedir ));
225- if (confdir )
226- xbps_strlcpy (xh .confdir , confdir , sizeof (xh .confdir ));
227- xh .flags = flags ;
228- if (flags & XBPS_FLAG_VERBOSE )
216+ if (xh .flags & XBPS_FLAG_VERBOSE )
229217 xh .unpack_cb = unpack_progress_cb ;
230218
231219 if ((rv = xbps_init (& xh )) != 0 ) {
0 commit comments