mirror of
https://github.com/postgres/postgres.git
synced 2026-03-07 15:50:44 -05:00
Further experience says that the appending behavior offered by pg_get_line_append is useful to only a very small minority of callers. For most, the requirement to reset the buffer after each line is just an error-prone nuisance. Hence, invent another alternative call pg_get_line_buf, which takes care of that detail. Noted while reviewing a patch from Daniel Gustafsson. Discussion: https://postgr.es/m/48A4FA71-524E-41B9-953A-FD04EF36E2E7@yesql.se
30 lines
981 B
C
30 lines
981 B
C
/*
|
|
* string.h
|
|
* string handling helpers
|
|
*
|
|
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/common/string.h
|
|
*/
|
|
#ifndef COMMON_STRING_H
|
|
#define COMMON_STRING_H
|
|
|
|
struct StringInfoData; /* avoid including stringinfo.h here */
|
|
|
|
/* functions in src/common/string.c */
|
|
extern bool pg_str_endswith(const char *str, const char *end);
|
|
extern int strtoint(const char *pg_restrict str, char **pg_restrict endptr,
|
|
int base);
|
|
extern void pg_clean_ascii(char *str);
|
|
extern int pg_strip_crlf(char *str);
|
|
|
|
/* functions in src/common/pg_get_line.c */
|
|
extern char *pg_get_line(FILE *stream);
|
|
extern bool pg_get_line_buf(FILE *stream, struct StringInfoData *buf);
|
|
extern bool pg_get_line_append(FILE *stream, struct StringInfoData *buf);
|
|
|
|
/* functions in src/common/sprompt.c */
|
|
extern char *simple_prompt(const char *prompt, bool echo);
|
|
|
|
#endif /* COMMON_STRING_H */
|