mirror of
				https://github.com/Ed94/gencpp.git
				synced 2025-11-03 15:26:12 -08:00 
			
		
		
		
	progress on c_library.cpp
This commit is contained in:
		@@ -11,7 +11,7 @@ b32 ignore_preprocess_cond_block( StrC cond_sig, Code& entry_iter, CodeBody& bod
 | 
			
		||||
	if ( cond->Content.contains(cond_sig) )
 | 
			
		||||
	{
 | 
			
		||||
		s32 depth = 1;
 | 
			
		||||
		++ entry_iter; for(b32 continue_for = true; continue_for && entry_iter != body.end(); ++ entry_iter) switch
 | 
			
		||||
		++ entry_iter; for(b32 continue_for = true; continue_for && entry_iter != body.end(); ) switch
 | 
			
		||||
		(entry_iter->Type) {
 | 
			
		||||
			case ECode::Preprocess_If:
 | 
			
		||||
			case ECode::Preprocess_IfDef:
 | 
			
		||||
@@ -24,24 +24,30 @@ b32 ignore_preprocess_cond_block( StrC cond_sig, Code& entry_iter, CodeBody& bod
 | 
			
		||||
				depth --;
 | 
			
		||||
				if (depth == 0) {
 | 
			
		||||
					continue_for = false;
 | 
			
		||||
					break;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			break;
 | 
			
		||||
			default:
 | 
			
		||||
				++ entry_iter;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return entry_iter != body.end();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void swap_pragma_region_implementation( StrC region_name, SwapContentProc* swap_content, Code& entry_iter, CodeBody& body )
 | 
			
		||||
bool swap_pragma_region_implementation( StrC region_name, SwapContentProc* swap_content, Code& entry_iter, CodeBody& body )
 | 
			
		||||
{
 | 
			
		||||
	bool found = false;
 | 
			
		||||
	CodePragma possible_region = entry_iter.cast<CodePragma>();
 | 
			
		||||
 | 
			
		||||
	String region_sig    = string_fmt_buf(GlobalAllocator, "region %s",    region_name.Ptr);
 | 
			
		||||
	String endregion_sig = string_fmt_buf(GlobalAllocator, "endregion %s", region_name.Ptr);
 | 
			
		||||
	if ( possible_region->Content.contains(region_sig))
 | 
			
		||||
	{
 | 
			
		||||
		body.append(possible_region);
 | 
			
		||||
		found = true;
 | 
			
		||||
		// body.append(possible_region);
 | 
			
		||||
		body.append(swap_content());
 | 
			
		||||
 | 
			
		||||
		++ entry_iter; for(b32 continue_for = true; continue_for; ++entry_iter) switch
 | 
			
		||||
@@ -50,12 +56,13 @@ void swap_pragma_region_implementation( StrC region_name, SwapContentProc* swap_
 | 
			
		||||
			{
 | 
			
		||||
				CodePragma possible_end_region = entry_iter.cast<CodePragma>();
 | 
			
		||||
				if ( possible_end_region->Content.contains(endregion_sig) ) {
 | 
			
		||||
					body.append(possible_end_region);
 | 
			
		||||
					// body.append(possible_end_region);
 | 
			
		||||
					continue_for = false;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
		body.append(entry_iter);
 | 
			
		||||
	}
 | 
			
		||||
	body.append(entry_iter);
 | 
			
		||||
	return found;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user