Diff for /embedaddon/lighttpd/src/data_string.c between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2014/06/15 20:20:06 version 1.1.1.3, 2016/11/02 10:35:00
Line 1 Line 1
   #include "first.h"
   
 #include "array.h"  #include "array.h"
   
 #include <string.h>  #include <string.h>
Line 9  static data_unset *data_string_copy(const data_unset * Line 11  static data_unset *data_string_copy(const data_unset *
         data_string *src = (data_string *)s;          data_string *src = (data_string *)s;
         data_string *ds = data_string_init();          data_string *ds = data_string_init();
   
        buffer_copy_string_buffer(ds->key, src->key);        buffer_copy_buffer(ds->key, src->key);
        buffer_copy_string_buffer(ds->value, src->value);        buffer_copy_buffer(ds->value, src->value);
         ds->is_index_key = src->is_index_key;          ds->is_index_key = src->is_index_key;
         return (data_unset *)ds;          return (data_unset *)ds;
 }  }
Line 36  static int data_string_insert_dup(data_unset *dst, dat Line 38  static int data_string_insert_dup(data_unset *dst, dat
         data_string *ds_dst = (data_string *)dst;          data_string *ds_dst = (data_string *)dst;
         data_string *ds_src = (data_string *)src;          data_string *ds_src = (data_string *)src;
   
        if (ds_dst->value->used) {        if (!buffer_is_empty(ds_dst->value)) {
                 buffer_append_string_len(ds_dst->value, CONST_STR_LEN(", "));                  buffer_append_string_len(ds_dst->value, CONST_STR_LEN(", "));
                 buffer_append_string_buffer(ds_dst->value, ds_src->value);                  buffer_append_string_buffer(ds_dst->value, ds_src->value);
         } else {          } else {
                buffer_copy_string_buffer(ds_dst->value, ds_src->value);                buffer_copy_buffer(ds_dst->value, ds_src->value);
         }          }
   
         src->free(src);          src->free(src);
Line 52  static int data_response_insert_dup(data_unset *dst, d Line 54  static int data_response_insert_dup(data_unset *dst, d
         data_string *ds_dst = (data_string *)dst;          data_string *ds_dst = (data_string *)dst;
         data_string *ds_src = (data_string *)src;          data_string *ds_src = (data_string *)src;
   
        if (ds_dst->value->used) {        if (!buffer_is_empty(ds_dst->value)) {
                 buffer_append_string_len(ds_dst->value, CONST_STR_LEN("\r\n"));                  buffer_append_string_len(ds_dst->value, CONST_STR_LEN("\r\n"));
                 buffer_append_string_buffer(ds_dst->value, ds_dst->key);                  buffer_append_string_buffer(ds_dst->value, ds_dst->key);
                 buffer_append_string_len(ds_dst->value, CONST_STR_LEN(": "));                  buffer_append_string_len(ds_dst->value, CONST_STR_LEN(": "));
                 buffer_append_string_buffer(ds_dst->value, ds_src->value);                  buffer_append_string_buffer(ds_dst->value, ds_src->value);
         } else {          } else {
                buffer_copy_string_buffer(ds_dst->value, ds_src->value);                buffer_copy_buffer(ds_dst->value, ds_src->value);
         }          }
   
         src->free(src);          src->free(src);
Line 69  static int data_response_insert_dup(data_unset *dst, d Line 71  static int data_response_insert_dup(data_unset *dst, d
   
 static void data_string_print(const data_unset *d, int depth) {  static void data_string_print(const data_unset *d, int depth) {
         data_string *ds = (data_string *)d;          data_string *ds = (data_string *)d;
        unsigned int i;        size_t i, len;
         UNUSED(depth);          UNUSED(depth);
   
         /* empty and uninitialized strings */          /* empty and uninitialized strings */
        if (ds->value->used < 1) {        if (buffer_string_is_empty(ds->value)) {
                 fputs("\"\"", stdout);                  fputs("\"\"", stdout);
                 return;                  return;
         }          }
   
         /* print out the string as is, except prepend " with backslash */          /* print out the string as is, except prepend " with backslash */
         putc('"', stdout);          putc('"', stdout);
        for (i = 0; i < ds->value->used - 1; i++) {        len = buffer_string_length(ds->value);
         for (i = 0; i < len; i++) {
                 unsigned char c = ds->value->ptr[i];                  unsigned char c = ds->value->ptr[i];
                 if (c == '"') {                  if (c == '"') {
                         fputs("\\\"", stdout);                          fputs("\\\"", stdout);
Line 96  data_string *data_string_init(void) { Line 99  data_string *data_string_init(void) {
         data_string *ds;          data_string *ds;
   
         ds = calloc(1, sizeof(*ds));          ds = calloc(1, sizeof(*ds));
        force_assert(ds);        force_assert(NULL != ds);
   
         ds->key = buffer_init();          ds->key = buffer_init();
         ds->value = buffer_init();          ds->value = buffer_init();

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>