mirror of
				https://github.com/onyx-and-iris/vmrcli.git
				synced 2025-10-30 12:41:48 +00:00 
			
		
		
		
	add terminate()
logs fatal, frees dyn memory and exits with EXIT_FAILURE
This commit is contained in:
		
							parent
							
								
									6179374eaa
								
							
						
					
					
						commit
						41a256786f
					
				
							
								
								
									
										33
									
								
								src/vmrcli.c
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								src/vmrcli.c
									
									
									
									
									
								
							| @ -13,7 +13,7 @@ | ||||
| #include <stdlib.h> | ||||
| #include <getopt.h> | ||||
| #include <windows.h> | ||||
| #include "ivmr.h" | ||||
| #include "interface.h" | ||||
| #include "wrapper.h" | ||||
| #include "log.h" | ||||
| #include "util.h" | ||||
| @ -60,6 +60,7 @@ struct result | ||||
| 
 | ||||
| static bool vflag = false; | ||||
| 
 | ||||
| static void terminate(PT_VMR vmr, char *msg); | ||||
| static void usage(); | ||||
| static enum kind set_kind(char *kval); | ||||
| static void interactive(PT_VMR vmr, bool with_prompt); | ||||
| @ -158,10 +159,9 @@ int main(int argc, char *argv[]) | ||||
|     if (rep != 0) | ||||
|     { | ||||
|         if (rep == -2) | ||||
|             log_fatal("Timeout logging into the API."); | ||||
|             terminate(vmr, "Timeout logging into the API."); | ||||
|         else | ||||
|             log_fatal("Error logging into the Voicemeeter API"); | ||||
|         exit(EXIT_FAILURE); | ||||
|             terminate(vmr, "Error logging into the Voicemeeter API"); | ||||
|     } | ||||
| 
 | ||||
|     if (mflag) | ||||
| @ -200,14 +200,25 @@ int main(int argc, char *argv[]) | ||||
|     rep = logout(vmr); | ||||
|     if (rep != 0) | ||||
|     { | ||||
|         log_fatal("Error logging out of the Voicemeeter API"); | ||||
|         return EXIT_FAILURE; | ||||
|     } | ||||
|     else | ||||
|     { | ||||
|         log_info("Successfully logged out of the Voicemeeter API"); | ||||
|         return EXIT_SUCCESS; | ||||
|         terminate(vmr, "Error logging out of the Voicemeeter API"); | ||||
|     } | ||||
| 
 | ||||
|     log_info("Successfully logged out of the Voicemeeter API"); | ||||
|     free(vmr); | ||||
|     return EXIT_SUCCESS; | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  * @brief Write fatal error log, free dyn allocated memory then exit | ||||
|  * | ||||
|  * @param vmr Pointer to the iVMR interface | ||||
|  * @param msg Fatal error message | ||||
|  */ | ||||
| static void terminate(PT_VMR vmr, char *msg) | ||||
| { | ||||
|     log_fatal(msg); | ||||
|     free(vmr); | ||||
|     exit(EXIT_FAILURE); | ||||
| } | ||||
| 
 | ||||
| /**
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user