| 252 | // |
| 253 | |
| 254 | static void alter_database( gpre_req* request, act* action) |
| 255 | { |
| 256 | gpre_dbb* db = (gpre_dbb*) action->act_object; |
| 257 | |
| 258 | request->add_byte(isc_dyn_mod_database); |
| 259 | |
| 260 | // Reverse the order of files (parser left them backwards) |
| 261 | |
| 262 | gpre_file* next; |
| 263 | gpre_file* files = NULL; |
| 264 | for (gpre_file* file = db->dbb_files; file; file = next) |
| 265 | { |
| 266 | next = file->fil_next; |
| 267 | file->fil_next = files; |
| 268 | files = file; |
| 269 | } |
| 270 | |
| 271 | for (const gpre_file* file = files; file != NULL; file = file->fil_next) |
| 272 | { |
| 273 | put_cstring(request, isc_dyn_def_file, file->fil_name); |
| 274 | request->add_byte(isc_dyn_file_start); |
| 275 | request->add_word(4); |
| 276 | const SLONG start = file->fil_start; |
| 277 | request->add_long(start); |
| 278 | request->add_byte(isc_dyn_file_length); |
| 279 | request->add_word(4); |
| 280 | request->add_long(file->fil_length); |
| 281 | request->add_end(); |
| 282 | } |
| 283 | |
| 284 | if (db->dbb_def_charset) |
| 285 | put_cstring(request, isc_dyn_fld_character_set_name, db->dbb_def_charset); |
| 286 | |
| 287 | request->add_end(); |
| 288 | } |
| 289 | |
| 290 | |
| 291 | //____________________________________________________________ |
no test coverage detected