Fix the damn text file loading function
This commit is contained in:
		
							parent
							
								
									f548bdebb9
								
							
						
					
					
						commit
						064963c685
					
				
							
								
								
									
										36
									
								
								rendering.h
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								rendering.h
									
									
									
									
									
								
							@ -25,20 +25,32 @@ void checkShader(unsigned int shader, int statusFlag, char* actionName) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
char* loadText(char* path) {
 | 
					char *loadText(char* path) {
 | 
				
			||||||
    char* buffer = NULL;
 | 
					    char *buffer = NULL;
 | 
				
			||||||
    long length;
 | 
					    FILE *f = fopen(path, "r");
 | 
				
			||||||
    FILE* f = fopen(path, "rb");
 | 
					    if (f == NULL) {
 | 
				
			||||||
    if (f) {
 | 
					        return NULL;
 | 
				
			||||||
        fseek(f, 0, SEEK_END);
 | 
					 | 
				
			||||||
        length = ftell(f);
 | 
					 | 
				
			||||||
        fseek(f, 0, SEEK_SET);
 | 
					 | 
				
			||||||
        buffer = calloc(length, sizeof(char));
 | 
					 | 
				
			||||||
        if (buffer) {
 | 
					 | 
				
			||||||
            fread(buffer, 1, length, f);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    if (fseek(f, 0, SEEK_END) != 0) {
 | 
				
			||||||
 | 
					        return NULL;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    i16 length = ftell(f);
 | 
				
			||||||
 | 
					    if (length == -1) {
 | 
				
			||||||
 | 
					        return NULL;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    buffer = malloc((length + 1) * sizeof(char));
 | 
				
			||||||
 | 
					    if (fseek(f, 0, SEEK_SET) != 0) {
 | 
				
			||||||
 | 
					        return NULL;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    usize newLen = fread(buffer, sizeof(char), length, f);
 | 
				
			||||||
 | 
					    if (ferror(f) != 0) {
 | 
				
			||||||
 | 
					        return NULL;
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        buffer[newLen] = '\0';
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fclose(f);
 | 
					    fclose(f);
 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    return buffer;
 | 
					    return buffer;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user