1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
 herr_t
 ss_string_realloc(ss_string_t *str)
 {
     SS_ENTER(ss_string_realloc, herr_t);
     if (!str) SS_ERROR_FMT(USAGE, ("no ss_string_t supplied"));

     if (str->p) {
         char *tmp;
         if (NULL==(tmp=malloc(str->nbytes))) SS_ERROR(FAILED);
         memcpy(tmp, str->p, str->nbytes);
         str->p = tmp;
         str->offset = 0;
     }

 SS_CLEANUP:
     SS_LEAVE(0);
 }