<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>C on TerryFunggg Blog</title>
    <link>https://blog.terryfunggg.dev/categories/c/</link>
    <description>Recent content in C on TerryFunggg Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <managingEditor>terryeessfung@gmail.com (TerryFung)</managingEditor>
    <webMaster>terryeessfung@gmail.com (TerryFung)</webMaster>
    <copyright>TerryFung</copyright>
    <lastBuildDate>Sun, 11 Oct 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.terryfunggg.dev/categories/c/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Opaque type in C</title>
      <link>https://blog.terryfunggg.dev/notes/opaque_type/</link>
      <pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/opaque_type/</guid>
      <description>&lt;p&gt;Checking on open directory in C.&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;c&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;c code snippet start&lt;/p&gt;</description>
    </item>
    <item>
      <title>SDL - keyboard listening</title>
      <link>https://blog.terryfunggg.dev/notes/sdl_keyboard/</link>
      <pubDate>Sat, 03 Oct 2026 00:00:00 +0000</pubDate><author>terryeessfung@gmail.com (TerryFung)</author>
      <guid>https://blog.terryfunggg.dev/notes/sdl_keyboard/</guid>
      <description>&lt;p&gt;I was moving two rects with SDL. Player 1 on W/S, player 2 on up/down.&lt;/p&gt;&#xA;&lt;p&gt;Up and down felt fine. But W and S felt like delay.&lt;/p&gt;&#xA;&lt;p&gt;The loop was this:&lt;/p&gt;&#xA;&lt;figure class=&#34;codeblock not-prose relative scroll-mt-8&#34; id=&#34;codeblock-01&#34;&gt;&#xA;  &lt;aside&#xA;    class=&#34;absolute right-0 top-0 hidden rounded-bl-sm rounded-tr-sm bg-white/10 px-2 py-1 text-white/70 transition-opacity md:inline-block&#34;&#xA;  &gt;&#xA;    &lt;div class=&#34;codeblock-meta flex max-w-xs flex-row items-center space-x-3&#34;&gt;&#xA;      &lt;div class=&#34;small-caps shrink cursor-default truncate font-mono text-xs&#34; aria-hidden=&#34;true&#34;&gt;&#xA;        &lt;span class=&#34;relative&#34;&gt;c&lt;/span&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;clipboard-copy&#xA;          type=&#34;button&#34;&#xA;          aria-label=&#34;Copy code to clipboard&#34;&#xA;          title=&#34;Copy code to clipboard&#34;&#xA;          class=&#34;block cursor-pointer transition-colors hover:text-sky-400&#34;&#xA;          target=&#34;#codeblock-01 code&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  class=&#34;lucide lucide-clipboard h-4 w-4&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;rect width=&#34;8&#34; height=&#34;4&#34; x=&#34;8&#34; y=&#34;2&#34; rx=&#34;1&#34; ry=&#34;1&#34; /&gt;&#xA;  &lt;path d=&#34;M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/clipboard-copy&gt;&#xA;      &lt;/div&gt;&#xA;      &lt;div&gt;&#xA;        &lt;a&#xA;          href=&#34;#codeblock-01&#34;&#xA;          class=&#34;block&#34;&#xA;          aria-label=&#34;Link to this code block&#34;&#xA;          title=&#34;Link to this code block&#34;&#xA;        &gt;&#xA;          &lt;svg&#xA;  xmlns=&#34;http://www.w3.org/2000/svg&#34;&#xA;  width=&#34;16&#34;&#xA;  height=&#34;16&#34;&#xA;  fill=&#34;none&#34;&#xA;  stroke=&#34;currentColor&#34;&#xA;  stroke-linecap=&#34;round&#34;&#xA;  stroke-linejoin=&#34;round&#34;&#xA;  stroke-width=&#34;2&#34;&#xA;  class=&#34;lucide lucide-link w-4 h-4 block&#34;&#xA;  viewBox=&#34;0 0 24 24&#34;&#xA;&gt;&#xA;  &lt;path d=&#34;M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71&#34; /&gt;&#xA;  &lt;path d=&#34;M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71&#34; /&gt;&#xA;&lt;/svg&gt;&#xA;&#xA;        &lt;/a&gt;&#xA;      &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/aside&gt;&#xA;  &lt;p class=&#34;sr-only&#34;&gt;c code snippet start&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
