antirez / antirez/kilo

SUBJECT: Inquiry regarding inconsistent sizing in `editorSyntax` struct

未关闭
#124 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C
星标
9.1k
派生
997
PR 合并指标
30 天内没有已合并 PR

描述

Hello,
I am relatively new to C programming so forgive me if I am mistaken. However, I noticed while looking at the struct, that there was a sizing inconsistency. Here is the definition of the struct:
```
struct editorSyntax {
char **filematch;
char **keywords;
char singleline_comment_start[2];
char multiline_comment_start[3];
char multiline_comment_end[3];
int flags;
};
```
I noticed that `singleline_comment_start` is initialised with 2 characters for '//' defined later on, which cuts the null terminator off, and not making it a C string. However, in the multiline comment ending and starting, it leaves space for the null terminator as it is 3 bytes, and the start and ending of the multiline comment is 2 bytes. So 2 bytes for the comment sign and 1 byte for the null terminator.

Was dropping the null terminator `singleline_comment_start` a trick to save memory (which is what I thought it was)? If so, why is the multiline comment also not stored like that?
Your help woudl be appreciated.

贡献指南

这个仓库没有索引到贡献指南

调研方向

Start by locating the `editorSyntax` struct definition and the later initialization of `singleline_comment_start`, `multiline_comment_start`, and `multiline_comment_end`. Compare how those fields are used, then clarify in the issue why their sizes differ; no specific file or test is named, so completion is a documented explanation rather than a code change.

由索引模型根据 Issue 内容生成。

评估

技术栈
c
领域
tooling
Issue 类型
文档
难度
1/5
预计耗时
1 小时以内
活跃度
冷清
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。