Revision d64ea0f83bd7e676778f833c57f969a94518a28d authored by Jeff King on 13 January 2015, 01:57:37 UTC, committed by Junio C Hamano on 13 January 2015, 18:03:30 UTC
It's a common idiom to duplicate a string if it is non-NULL,
or pass a literal NULL through. This is already a one-liner
in C, but you do have to repeat the name of the string
twice. So if there's a function call, you must write:

  const char *x = some_fun(...);
  return x ? xstrdup(x) : NULL;

instead of (with this patch) just:

  return xstrdup_or_null(some_fun(...));

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 1da1e07
Raw File
url.h
#ifndef URL_H
#define URL_H

extern int is_url(const char *url);
extern int is_urlschemechar(int first_flag, int ch);
extern char *url_decode(const char *url);
extern char *url_decode_mem(const char *url, int len);
extern char *url_decode_parameter_name(const char **query);
extern char *url_decode_parameter_value(const char **query);

extern void end_url_with_slash(struct strbuf *buf, const char *url);
extern void str_end_url_with_slash(const char *url, char **dest);

#endif /* URL_H */
back to top