@@ -153,29 +153,23 @@ git_lfs (GFile *dir,
153153 char * * output ,
154154 GSubprocessFlags flags ,
155155 GError * * error ,
156- ... )
156+ const char * * args )
157157{
158- GPtrArray * args ;
159- const gchar * arg ;
158+ GPtrArray * full_args ;
160159 gboolean res ;
161- va_list ap ;
162-
163- va_start (ap , error );
164-
165- args = g_ptr_array_new ();
166- g_ptr_array_add (args , "git" );
167- g_ptr_array_add (args , "lfs" );
168160
169- while ((arg = va_arg (ap , const gchar * )))
170- g_ptr_array_add (args , (gchar * ) arg );
161+ full_args = g_ptr_array_new ();
162+ g_ptr_array_add (full_args , "git" );
163+ g_ptr_array_add (full_args , "lfs" );
171164
172- g_ptr_array_add (args , NULL );
165+ for (const char * * arg = args ; * arg ; arg ++ )
166+ g_ptr_array_add (full_args , (char * ) * arg );
173167
174- res = flatpak_spawnv ( dir , output , flags , error , ( const char * * ) args -> pdata , NULL );
168+ g_ptr_array_add ( full_args , NULL );
175169
176- g_ptr_array_free (args , TRUE);
177- va_end (ap );
170+ res = flatpak_spawnv (dir , output , flags , error , (const char * * ) full_args -> pdata , NULL );
178171
172+ g_ptr_array_free (full_args , TRUE);
179173 return res ;
180174}
181175
@@ -189,7 +183,7 @@ git_lfs_is_available (void)
189183 g_autoptr (GError ) my_error = NULL ;
190184 gsize new_lfs_available = 2 ;
191185
192- if (git_lfs (NULL , NULL , 0 , & my_error , "version" , NULL ))
186+ if (git_lfs (NULL , NULL , 0 , & my_error , ( const char * []){ "version" , NULL } ))
193187 new_lfs_available = 1 ;
194188 else
195189 g_debug ("git-lfs is not available: %s" , my_error -> message );
@@ -207,7 +201,9 @@ builder_git_run_lfs (GFile *dir,
207201 const char * subcommand ,
208202 ...)
209203{
210- va_list args ;
204+ va_list ap ;
205+ GPtrArray * args ;
206+ const char * arg ;
211207 gboolean ok ;
212208
213209 if (flags & FLATPAK_GIT_MIRROR_FLAGS_DISABLE_LFS )
@@ -216,13 +212,24 @@ builder_git_run_lfs (GFile *dir,
216212 if (!git_lfs_is_available ())
217213 return TRUE;
218214
219- va_start (args , subcommand );
220- ok = git_lfs (dir , NULL , 0 , error , subcommand , args );
221- va_end (args );
215+ args = g_ptr_array_new ();
216+ g_ptr_array_add (args , (char * ) subcommand );
217+
218+ va_start (ap , subcommand );
219+ while ((arg = va_arg (ap , const char * )))
220+ g_ptr_array_add (args , (char * ) arg );
221+ va_end (ap );
222+
223+ g_ptr_array_add (args , NULL );
224+
225+ g_print ("Running git lfs %s\n" , subcommand );
226+ ok = git_lfs (dir , NULL , 0 , error , (const char * * ) args -> pdata );
227+
228+ g_ptr_array_free (args , TRUE);
222229
223230 if (!ok )
224231 {
225- git_lfs (dir , NULL , 0 , NULL , "logs" , "last" , NULL );
232+ git_lfs (dir , NULL , 0 , NULL , ( const char * []){ "logs" , "last" , NULL } );
226233 return FALSE;
227234 }
228235
@@ -659,7 +666,6 @@ builder_git_mirror_repo (const char *repo_location,
659666 origin , full_ref_mapping , NULL ))
660667 return FALSE;
661668
662- g_print ("Fetching LFS assets\n" );
663669 if (!builder_git_run_lfs (mirror_dir , flags , error ,
664670 "fetch" , "--all" , NULL ))
665671 return FALSE;
@@ -693,7 +699,6 @@ builder_git_mirror_repo (const char *repo_location,
693699 NULL ))
694700 return FALSE;
695701
696- g_print ("Fetching LFS assets\n" );
697702 if (!builder_git_run_lfs (mirror_dir , flags , error ,
698703 "fetch" , "--all" , NULL ))
699704 return FALSE;
0 commit comments