git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 2/6] string_list: add two new functions for splitting strings

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 10, 2012, 22:00 UTC
Message-ID
<7vlighlerf.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1347311926-5207-3-git-send-email-mhagger@alum.mit.edu>
Michael Haggerty <mhagger@alum.mit.edu> writes:
Show 16 quoted lines
> diff --git a/string-list.c b/string-list.c
> index 5594b7d..f9051ec 100644
> --- a/string-list.c
> +++ b/string-list.c
> @@ -204,3 +204,52 @@ void unsorted_string_list_delete_item(struct string_list *list, int i, int free_
>  	list->items[i] = list->items[list->nr-1];
>  	list->nr--;
>  }
> +
> +int string_list_split(struct string_list *list, const char *string,
> +		      int delim, int maxsplit)
> +{
> +	int count = 0;
> +	const char *p = string, *end;
> +
> +	assert(list->strdup_strings);

This may be a taste thing, but I'd prefer to see assert() only for verification of pre-condition by internal callers to catch stupid programming errors. For a library-ish function like sl_split() that expects to be called from anybody outside the string-list API, a violation of this pre-condition is a usage error of the API, and should trigger a runtime error (even without NDEBUG), no?

Previous: Michael HaggertyNext: Junio C Hamano
Message 7 of 14 in “Add some string_list-related functions”
  1. 0/6 Add some string_list-related functionsMichael Haggerty, Sep 10, 2012
  2. 1/6 string_list: add function string_list_append_nodup()Michael Haggerty, Sep 10, 2012
  3. Junio C HamanoSep 10, 2012
  4. Michael HaggertySep 10, 2012
  5. Michael HaggertySep 12, 2012
  6. 2/6 string_list: add two new functions for splitting stringsMichael Haggerty, Sep 10, 2012
  7. Junio C HamanoSep 10, 2012
  8. Junio C HamanoSep 10, 2012
  9. Michael HaggertySep 12, 2012
  10. Junio C HamanoSep 12, 2012
  11. 3/6 string_list: add a new function, filter_string_list()Michael Haggerty, Sep 10, 2012
  12. 4/6 string_list: add a new function, string_list_remove_duplicates()Michael Haggerty, Sep 10, 2012
  13. 5/6 string_list: add a function string_list_longest_prefix()Michael Haggerty, Sep 10, 2012
  14. 6/6 api-string-list.txt: initialize the string_list the easy wayMichael Haggerty, Sep 10, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.