Zig
Zig
Get a Related Item as Text with CRLF Line Endings
See more Email Object Examples
Demonstrates the Chilkat Email.GetRelatedStringCrLf method, which returns the text of a related item with CRLF (\r\n) line-endings, interpreting the item's bytes using the supplied charset. It is intended for text-based related items such as style sheets. This example reads an embedded CSS style sheet with normalized CRLF line endings.
Background: Embedded text may arrive with any style of line ending — bare
LF, bare CR, or CRLF. This method normalizes them all to CRLF, which is what internet protocols and many Windows tools expect, avoiding mixed-newline problems when the text is written out or re-transmitted. It is the CRLF counterpart to GetRelatedString (which uses bare CR).Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// Demonstrates the GetRelatedStringCrLf method, which returns the text of a related item
// with CRLF line-endings, interpreting the bytes using the specified charset. This is
// intended for text-based related items such as style sheets. The index is zero-based.
const email = try chilkat.Email.init();
defer email.deinit();
email.setSubject("GetRelatedStringCrLf example");
// The HTML references a related style sheet by name (Content-Location).
email.setHtmlBody("<html><head><link rel=\"stylesheet\" href=\"styles.css\"/></head><body>Styled.</body></html>");
// Add the related style sheet (index 0).
email.addRelatedString2("styles.css", "body { color: navy; }\nh1 { color: teal; }", "utf-8");
// Get the first related item (index 0) as text with CRLF line endings.
const content = try email.getRelatedStringCrLf(alloc, 0, "utf-8");
std.debug.print("Related item 0 text (CRLF-normalized):\n", .{});
std.debug.print("{s}\n", .{content});
}