<p>No, that won't work.  Simply not rewinding will leave the file having read BUFSIZ which is guaranteed to be at least 256, so well past the end of the type spec that is to be skipped.  So have to always rewind, then forward over the <code># format=ctags</code> part (probably keep the length from having found it).</p>
<p>Or I'm not sure why it doesn't use getline() instead of reading BUFSIZ, but anyway.</p>
<p>Also noticed the "skip" code <a href="https://github.com/geany/geany/blob/7c6b4794b1c0f9696465fb8920ccffc107f5b4d8/src/tagmanager/tm_source_file.c#L360">here</a> would seem to actually be an infinite loop?</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/1816#issuecomment-375467068">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ-XJzQiqHroaz8BW1H9aGmpMkxkwks5thBqbgaJpZM4S3zwc">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJ-AlMR3dCYf3HQfU4-0_fF6od2lyks5thBqbgaJpZM4S3zwc.gif" height="1" width="1" alt="" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/1816#issuecomment-375467068"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr in #1816: No, that won't work.  Simply not rewinding will leave the file having read BUFSIZ which is guaranteed to be at least 256, so well past the end of the type spec that is to be skipped.  So have to always rewind, then forward over the `# format=ctags` part (probably keep the length from having found it).\r\n\r\nOr I'm not sure why it doesn't use getline() instead of reading BUFSIZ, but anyway.\r\n\r\nAlso noticed the \"skip\" code [here](https://github.com/geany/geany/blob/7c6b4794b1c0f9696465fb8920ccffc107f5b4d8/src/tagmanager/tm_source_file.c#L360) would seem to actually be an infinite loop?"}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1816#issuecomment-375467068"}}}</script>