Fix ovnisync table parsing
This commit is contained in:
		
							parent
							
								
									3a0541e5fa
								
							
						
					
					
						commit
						b9568cb052
					
				
							
								
								
									
										27
									
								
								emu.c
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								emu.c
									
									
									
									
									
								
							@ -467,8 +467,8 @@ load_clock_offsets(struct ovni_emu *emu)
 | 
			
		||||
{
 | 
			
		||||
	FILE *f;
 | 
			
		||||
	char buf[1024];
 | 
			
		||||
	int i, rank;
 | 
			
		||||
	double offset, std;
 | 
			
		||||
	int i, rank, ret;
 | 
			
		||||
	double offset, mean, std;
 | 
			
		||||
	char host[OVNI_MAX_HOSTNAME];
 | 
			
		||||
	struct ovni_loom *loom;
 | 
			
		||||
	struct ovni_trace *trace;
 | 
			
		||||
@ -485,8 +485,29 @@ load_clock_offsets(struct ovni_emu *emu)
 | 
			
		||||
	/* Ignore header line */
 | 
			
		||||
	fgets(buf, 1024, f);
 | 
			
		||||
 | 
			
		||||
	while(fscanf(f, "%d %s %lf %lf", &rank, host, &offset, &std) == 4)
 | 
			
		||||
	while(1)
 | 
			
		||||
	{
 | 
			
		||||
		errno = 0;
 | 
			
		||||
		ret = fscanf(f, "%d %s %lf %lf %lf", &rank, host, &offset, &mean, &std);
 | 
			
		||||
 | 
			
		||||
		if(ret == EOF)
 | 
			
		||||
		{
 | 
			
		||||
			if(errno != 0)
 | 
			
		||||
			{
 | 
			
		||||
				perror("fscanf failed");
 | 
			
		||||
				exit(EXIT_FAILURE);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if(ret != 5)
 | 
			
		||||
		{
 | 
			
		||||
			err("fscanf read %d instead of 5 fields in %s\n",
 | 
			
		||||
					ret, emu->clock_offset_file);
 | 
			
		||||
			exit(EXIT_FAILURE);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		loom = find_loom_by_hostname(emu, host);
 | 
			
		||||
 | 
			
		||||
		if(loom == NULL)
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user