Ignore:
Timestamp:
Oct 10, 2008, 4:27:38 AM (17 years ago)
Author:
bird
Message:

kmk: More length and alloc optimizations. Made all the length optimizations from yesterday CONFIG_WITH_VALUE_LENGTH instead of KMK.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/variable.h

    r1808 r1809  
    136136#endif
    137137char *allocated_variable_expand_for_file (const char *line, struct file *file);
    138 #ifndef KMK
     138#ifndef CONFIG_WITH_VALUE_LENGTH
    139139#define allocated_variable_expand(line) \
    140140  allocated_variable_expand_for_file (line, (struct file *) 0)
    141 #else  /* KMK */
     141#else  /* CONFIG_WITH_VALUE_LENGTH */
    142142# define allocated_variable_expand(line) \
    143143  allocated_variable_expand_2 (line, -1, NULL)
    144 char *allocated_variable_expand_2(const char *line, long length, unsigned int *value_len);
    145 #endif
     144char *allocated_variable_expand_2(const char *line, unsigned int length, unsigned int *value_len);
     145#endif /* CONFIG_WITH_VALUE_LENGTH */
    146146char *expand_argument (const char *str, const char *end);
    147147char *variable_expand_string (char *line, const char *string, long length);
    148 #ifdef KMK
     148#ifdef CONFIG_WITH_VALUE_LENGTH
    149149char *variable_expand_string_2 (char *line, const char *string, long length, char **eol);
    150150#endif
     
    152152void restore_variable_buffer (char *buf, unsigned int len);
    153153#ifdef CONFIG_WITH_VALUE_LENGTH
    154 extern void append_expanded_string_to_variable (struct variable *v, const char *value, int append);
     154void append_expanded_string_to_variable (struct variable *v, const char *value,
     155                                         unsigned int value_len, int append);
    155156#endif
    156157
     
    184185void merge_variable_set_lists (struct variable_set_list **to_list,
    185186                               struct variable_set_list *from_list);
     187#ifndef CONFIG_WITH_VALUE_LENGTH
    186188struct variable *do_variable_definition (const struct floc *flocp,
    187189                                         const char *name, const char *value,
     
    189191                                         enum variable_flavor flavor,
    190192                                         int target_var);
     193#else  /* CONFIG_WITH_VALUE_LENGTH */
     194# define do_variable_definition(flocp, varname, value, origin, flavor, target_var) \
     195    do_variable_definition_2 ((flocp), (varname), (value), ~0U, 0, NULL, \
     196                              (origin), (flavor), (target_var))
     197
     198struct variable *do_variable_definition_2 (const struct floc *flocp,
     199                                           const char *varname,
     200                                           const char *value,
     201                                           unsigned int value_len,
     202                                           int simple_value, char *free_value,
     203                                           enum variable_origin origin,
     204                                           enum variable_flavor flavor,
     205                                           int target_var);
     206#endif /* CONFIG_WITH_VALUE_LENGTH */
    191207struct variable *parse_variable_definition (struct variable *v, char *line);
    192208struct variable *try_variable_definition (const struct floc *flocp, char *line,
Note: See TracChangeset for help on using the changeset viewer.