@@ -60,6 +60,12 @@ get_data(PGresult *results, int act_tuple, int act_field, int lineno,
60
60
case ECPGt_unsigned_long :
61
61
((long * )ind )[act_tuple ]= - PQgetisnull (results ,act_tuple ,act_field );
62
62
break ;
63
+ case ECPGt_long_long :
64
+ ((long longint * )ind )[act_tuple ]= - PQgetisnull (results ,act_tuple ,act_field );
65
+ break ;
66
+ case ECPGt_unsigned_long_long :
67
+ ((unsigned long longint * )ind )[act_tuple ]= - PQgetisnull (results ,act_tuple ,act_field );
68
+ break ;
63
69
case ECPGt_NO_INDICATOR :
64
70
if (PQgetisnull (results ,act_tuple ,act_field ))
65
71
{
@@ -93,7 +99,6 @@ get_data(PGresult *results, int act_tuple, int act_field, int lineno,
93
99
{
94
100
ECPGraise (lineno ,ECPG_INT_FORMAT ,pval );
95
101
return (false);
96
- res = 0L ;
97
102
}
98
103
}
99
104
else
@@ -127,7 +132,6 @@ get_data(PGresult *results, int act_tuple, int act_field, int lineno,
127
132
{
128
133
ECPGraise (lineno ,ECPG_UINT_FORMAT ,pval );
129
134
return (false);
130
- ures = 0L ;
131
135
}
132
136
}
133
137
else
@@ -150,7 +154,38 @@ get_data(PGresult *results, int act_tuple, int act_field, int lineno,
150
154
}
151
155
break ;
152
156
157
+ case ECPGt_long_long :
158
+ if (pval )
159
+ {
160
+ ((long longint * )var )[act_tuple ]= strtoull (pval ,& scan_length ,10 );
161
+ if ((isarray && * scan_length != ',' && * scan_length != '}' )
162
+ || (!isarray && * scan_length != '\0' ))/* Garbage left */
163
+ {
164
+ ECPGraise (lineno ,ECPG_INT_FORMAT ,pval );
165
+ return (false);
166
+ }
167
+ }
168
+ else
169
+ ((long longint * )var )[act_tuple ]= 0LL ;
170
+
171
+ break ;
153
172
173
+ case ECPGt_unsigned_long_long :
174
+ if (pval )
175
+ {
176
+ ((unsigned long longint * )var )[act_tuple ]= strtoull (pval ,& scan_length ,10 );
177
+ if ((isarray && * scan_length != ',' && * scan_length != '}' )
178
+ || (!isarray && * scan_length != '\0' ))/* Garbage left */
179
+ {
180
+ ECPGraise (lineno ,ECPG_UINT_FORMAT ,pval );
181
+ return (false);
182
+ }
183
+ }
184
+ else
185
+ ((unsigned long longint * )var )[act_tuple ]= 0LL ;
186
+
187
+ break ;
188
+
154
189
case ECPGt_float :
155
190
case ECPGt_double :
156
191
if (pval )