PostgreSQL Source Code: src/common/psprintf.c Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17#ifndef FRONTEND

18

20

22

23#else

24

26

27#endif

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42char *

44{

45 int save_errno = errno;

46 size_t len = 128;

47

48 for (;;)

49 {

50 char *result;

52 size_t newlen;

53

54

55

56

57

59

60

61 errno = save_errno;

62 va_start(args, fmt);

65

66 if (newlen < len)

67 return result;

68

69

71 len = newlen;

72 }

73}

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102size_t

104{

105 int nprinted;

106

108

109

111 {

112#ifndef FRONTEND

113 elog(ERROR, "vsnprintf failed: %m with format string \"%s\"", fmt);

114#else

115 fprintf(stderr, "vsnprintf failed: %m with format string \"%s\"\n",

116 fmt);

118#endif

119 }

120

121 if ((size_t) nprinted < len)

122 {

123

124 return (size_t) nprinted;

125 }

126

127

128

129

130

131

132

133

134

136 {

137#ifndef FRONTEND

139 (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),

140 errmsg("out of memory")));

141#else

142 fprintf(stderr, _("out of memory\n"));

144#endif

145 }

146

147 return nprinted + 1;

148}

#define fprintf(file, fmt, msg)

int errcode(int sqlerrcode)

int errmsg(const char *fmt,...)

#define ereport(elevel,...)

void pfree(void *pointer)

size_t pvsnprintf(char *buf, size_t len, const char *fmt, va_list args)

char * psprintf(const char *fmt,...)