Fix handling EXCEPTS and INVEX without values
This commit is contained in:
		
							parent
							
								
									3c5e1c95a4
								
							
						
					
					
						commit
						431945614d
					
				
							
								
								
									
										5
									
								
								handle.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								handle.c
									
									
									
									
									
								
							@ -227,21 +227,24 @@ static void handleReplyISupport(struct Message *msg) {
 | 
				
			|||||||
	for (uint i = 1; i < ParamCap; ++i) {
 | 
						for (uint i = 1; i < ParamCap; ++i) {
 | 
				
			||||||
		if (!msg->params[i]) break;
 | 
							if (!msg->params[i]) break;
 | 
				
			||||||
		char *key = strsep(&msg->params[i], "=");
 | 
							char *key = strsep(&msg->params[i], "=");
 | 
				
			||||||
		if (!msg->params[i]) continue;
 | 
					 | 
				
			||||||
		if (!strcmp(key, "NETWORK")) {
 | 
							if (!strcmp(key, "NETWORK")) {
 | 
				
			||||||
 | 
								if (!msg->params[i]) continue;
 | 
				
			||||||
			set(&network.name, msg->params[i]);
 | 
								set(&network.name, msg->params[i]);
 | 
				
			||||||
			uiFormat(
 | 
								uiFormat(
 | 
				
			||||||
				Network, Cold, tagTime(msg),
 | 
									Network, Cold, tagTime(msg),
 | 
				
			||||||
				"You arrive in %s", msg->params[i]
 | 
									"You arrive in %s", msg->params[i]
 | 
				
			||||||
			);
 | 
								);
 | 
				
			||||||
		} else if (!strcmp(key, "CHANTYPES")) {
 | 
							} else if (!strcmp(key, "CHANTYPES")) {
 | 
				
			||||||
 | 
								if (!msg->params[i]) continue;
 | 
				
			||||||
			set(&network.chanTypes, msg->params[i]);
 | 
								set(&network.chanTypes, msg->params[i]);
 | 
				
			||||||
		} else if (!strcmp(key, "PREFIX")) {
 | 
							} else if (!strcmp(key, "PREFIX")) {
 | 
				
			||||||
 | 
								if (!msg->params[i]) continue;
 | 
				
			||||||
			strsep(&msg->params[i], "(");
 | 
								strsep(&msg->params[i], "(");
 | 
				
			||||||
			set(&network.prefixModes, strsep(&msg->params[i], ")"));
 | 
								set(&network.prefixModes, strsep(&msg->params[i], ")"));
 | 
				
			||||||
			set(&network.prefixes, msg->params[i]);
 | 
								set(&network.prefixes, msg->params[i]);
 | 
				
			||||||
			assert(strlen(network.prefixes) == strlen(network.prefixModes));
 | 
								assert(strlen(network.prefixes) == strlen(network.prefixModes));
 | 
				
			||||||
		} else if (!strcmp(key, "CHANMODES")) {
 | 
							} else if (!strcmp(key, "CHANMODES")) {
 | 
				
			||||||
 | 
								if (!msg->params[i]) continue;
 | 
				
			||||||
			set(&network.listModes, strsep(&msg->params[i], ","));
 | 
								set(&network.listModes, strsep(&msg->params[i], ","));
 | 
				
			||||||
			set(&network.paramModes, strsep(&msg->params[i], ","));
 | 
								set(&network.paramModes, strsep(&msg->params[i], ","));
 | 
				
			||||||
			set(&network.setParamModes, strsep(&msg->params[i], ","));
 | 
								set(&network.setParamModes, strsep(&msg->params[i], ","));
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user