403 |
|
return(dlen + (s - src)); /* count does not include NUL */ |
404 |
|
} |
405 |
|
|
406 |
< |
char *sg_update_string(char **dest, const char *src) { |
406 |
> |
int sg_update_string(char **dest, const char *src) { |
407 |
|
char *new; |
408 |
|
|
409 |
+ |
if (src == NULL) { |
410 |
+ |
/* We're being told to set it to NULL. */ |
411 |
+ |
free(*dest); |
412 |
+ |
*dest = NULL; |
413 |
+ |
return 0; |
414 |
+ |
} |
415 |
+ |
|
416 |
|
new = realloc(*dest, strlen(src) + 1); |
417 |
|
if (new == NULL) { |
418 |
< |
return NULL; |
418 |
> |
return -1; |
419 |
|
} |
420 |
|
|
421 |
|
strcpy(new, src); |
422 |
|
*dest = new; |
423 |
< |
return new; |
423 |
> |
return 0; |
424 |
|
} |
425 |
|
|
426 |
|
long long sg_get_ll_match(char *line, regmatch_t *match){ |