X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=string.c;h=0a32c0f48b3b8fc9a1b5194587fc10068789a064;hp=05febebf2e9b39c6e907b53cf05837cef94e8fb1;hb=663860bf5e3e3df1081900ed03d8cc63c483b42d;hpb=e90440367f744a7723b201a95888e66f070ffa92 diff --git a/string.c b/string.c index 05febebf..0a32c0f4 100644 --- a/string.c +++ b/string.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2010 Andre Noll + * Copyright (C) 2004-2011 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -521,9 +521,9 @@ __printf_2_3 int para_printf(struct para_buffer *b, const char *fmt, ...) } } -/** \cond LLONG_MAX and LLONG_LIN might not be defined. */ +/** \cond LLONG_MAX and LLONG_MIN might not be defined. */ #ifndef LLONG_MAX -#define LLONG_MAX (1 << (sizeof(long) - 1)) +#define LLONG_MAX 9223372036854775807LL #endif #ifndef LLONG_MIN #define LLONG_MIN (-LLONG_MAX - 1LL) @@ -615,7 +615,7 @@ int get_loglevel_by_name(const char *txt) return -1; } -static int get_next_word(const char *buf, const char *delim, char **word) +static int get_next_word(const char *buf, const char *delim, char **word) { enum line_state_flags {LSF_HAVE_WORD = 1, LSF_BACKSLASH = 2, LSF_SINGLE_QUOTE = 4, LSF_DOUBLE_QUOTE = 8}; @@ -719,6 +719,8 @@ void free_argv(char **argv) { int i; + if (!argv) + return; for (i = 0; argv[i]; i++) free(argv[i]); free(argv); @@ -760,6 +762,7 @@ err: while (num_words > 0) free(argv[--num_words]); free(argv); + *result = NULL; return ret; }