Modify

Ticket #94 (closed idea: fixed)

Opened 3 years ago

Last modified 18 months ago

idée : routine style strndup

Reported by: thaeron Owned by: thaeron
Priority: minor Milestone: Version 1.7
Component: kernel Version:
Keywords: Cc:

Description

Dans pas mal de modules, surtout ceux qui ont un parser web on fait ceci (plusieurs fois) :

len = ptr_fin - ptr_debut;
mem = malloc (len + 1);
strncpy (mem, ptr_debut, len);
mem[len] = '\0';

Ca fait beaucoup de redondances et en plus on ne vérifie jamais que ptr_fin > ptr_debut, même si normalement ça n'arrive jamais.

Une petite routine serait, à mon avis, la bienvenue.
Une suggestion sur le nom de la fonction (strndup n'étant pas dispo) ?

Attachments

Change History

comment:1 Changed 3 years ago by timy_01

Je vote pour ns_strndup, ns pour newsyndrome et le reste pour string, duplicate et bornée(n)

comment:2 Changed 3 years ago by thaeron

Je suis aussi pour ce nom, d'ailleurs : ne devrions-nous pas préfixer chaque routine par ns_ ? Et bien sur mettre des macro pour assurer la compat'.

comment:3 Changed 3 years ago by timy_01

Oui pour le préfix (ainsi que le macro).

Tu ouvres un ticket ? et le fait à la volée ?

comment:4 Changed 18 months ago by thaeron

  • Status changed from new to closed
  • Resolution set to fixed

C'est intégré au trunk. Voir changeset [396]. La fonction s'appelle strpndup() et est un peu plus complète qu'écrit dans la description du ticket (voir doc).

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.