antirez / antirez/kilo

SUBJECT: Inquiry regarding inconsistent sizing in `editorSyntax` struct

Ouverte
#124 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C
Étoiles
9.1k
Forks
997
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
c
Domaine
tooling
Type d'issue
Documentation
Difficulté
1/5
Temps estimé
Moins d'une heure
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.