diff --git a/src/ai/ai_scanner.cpp b/src/ai/ai_scanner.cpp index d6c2f7cf8d..9d689a815b 100644 --- a/src/ai/ai_scanner.cpp +++ b/src/ai/ai_scanner.cpp @@ -298,7 +298,7 @@ AIInfo *AIScanner::FindInfo(const char *nameParam, int versionParam, bool force_ *e = '\0'; e++; versionParam = atoi(e); - /* Fall-through, like we were calling this function with a version */ + /* FALL THROUGH, like we were calling this function with a version. */ } if (force_exact_match) { diff --git a/src/cheat_gui.cpp b/src/cheat_gui.cpp index 78dbf4906c..bfe57759c4 100644 --- a/src/cheat_gui.cpp +++ b/src/cheat_gui.cpp @@ -202,8 +202,8 @@ struct CheatWindow : Window { /* Set correct string for switch climate cheat */ case STR_CHEAT_SWITCH_CLIMATE: val += STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE; + /* FALL THROUGH */ - /* Fallthrough */ default: SetDParam(0, val); } } break; diff --git a/src/company_gui.cpp b/src/company_gui.cpp index a8a024bd62..bbaff4ec3d 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -327,7 +327,7 @@ struct CompanyFinancesWindow : Window { case CFW_EXPS_PRICE2: case CFW_EXPS_PRICE3: size->height = _expenses_list_types[type].GetHeight(); - /* Fall through */ + /* FALL THROUGH */ case CFW_BALANCE_VALUE: case CFW_LOAN_VALUE: case CFW_TOTAL_VALUE: @@ -640,7 +640,7 @@ public: size->width = 0; break; } - /* Fall through */ + /* FALL THROUGH */ case SCLW_WIDGET_PRI_COL_DROPDOWN: { for (const StringID *id = _colour_dropdown; id != endof(_colour_dropdown); id++) { size->width = max(size->width, GetStringBoundingBox(*id).width + 34); @@ -1405,7 +1405,7 @@ public: /* OK button */ case SCMFW_WIDGET_ACCEPT: DoCommandP(0, 0, this->face, CMD_SET_COMPANY_MANAGER_FACE); - /* Fall-Through */ + /* FALL THROUGH */ /* Cancel button */ case SCMFW_WIDGET_CANCEL: diff --git a/src/console.cpp b/src/console.cpp index 9aa43f4ddd..b2882ac2fa 100644 --- a/src/console.cpp +++ b/src/console.cpp @@ -439,7 +439,7 @@ void IConsoleCmdExec(const char *cmdstr) tokenstream[tstream_i++] = *++cmdptr; break; } - /* fallthrough */ + /* FALL THROUGH */ default: // Normal character tokenstream[tstream_i++] = *cmdptr; diff --git a/src/depend/depend.cpp b/src/depend/depend.cpp index 7da5fecbbf..ba868464bc 100644 --- a/src/depend/depend.cpp +++ b/src/depend/depend.cpp @@ -674,7 +674,7 @@ void ScanFile(const char *filename, const char *ext, bool header, bool verbose) free((void*)h); } } - /* Fall through */ + /* FALL THROUGH */ default: break; } break; @@ -796,7 +796,7 @@ void ScanFile(const char *filename, const char *ext, bool header, bool verbose) break; } if (verbose) fprintf(stderr, "\n"); - /* Fall through */ + /* FALL THROUGH */ default: /* Ignore the rest of the garbage on this line */ while (lexer.GetToken() != TOKEN_EOL && lexer.GetToken() != TOKEN_END) lexer.Lex(); diff --git a/src/engine_gui.cpp b/src/engine_gui.cpp index 448d9ee05b..6d5ba22fcb 100644 --- a/src/engine_gui.cpp +++ b/src/engine_gui.cpp @@ -111,7 +111,7 @@ struct EnginePreviewWindow : Window { switch (widget) { case EPW_YES: DoCommandP(0, this->window_number, 0, CMD_WANT_ENGINE_PREVIEW); - /* Fallthrough */ + /* FALL THROUGH */ case EPW_NO: delete this; break; diff --git a/src/fios.cpp b/src/fios.cpp index e1badddf37..441a48d6e3 100644 --- a/src/fios.cpp +++ b/src/fios.cpp @@ -100,7 +100,7 @@ const char *FiosBrowseTo(const FiosItem *item) #elif defined(WIN32) || defined(__OS2__) snprintf(path, MAX_PATH, "%c:" PATHSEP, item->title[0]); #endif - /* Fallthrough */ + /* FALL THROUGH */ case FIOS_TYPE_INVALID: break; diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 3250a3d1bb..a4b2102c81 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -1340,10 +1340,10 @@ struct QueryStringWindow : public QueryStringBaseWindow switch (widget) { case QUERY_STR_WIDGET_DEFAULT: this->text.buf[0] = '\0'; - /* Fallthrough */ + /* FALL THROUGH */ case QUERY_STR_WIDGET_OK: this->OnOk(); - /* Fallthrough */ + /* FALL THROUGH */ case QUERY_STR_WIDGET_CANCEL: delete this; break; @@ -1532,7 +1532,7 @@ struct QueryWindow : public Window { this->proc(this->parent, true); this->proc = NULL; } - /* Fallthrough */ + /* FALL THROUGH */ case WKC_ESC: delete this; return ES_HANDLED; diff --git a/src/music/extmidi.cpp b/src/music/extmidi.cpp index 3842fc50cb..6c8ee8d690 100644 --- a/src/music/extmidi.cpp +++ b/src/music/extmidi.cpp @@ -99,7 +99,7 @@ void MusicDriver_ExtMidi::DoPlay() case -1: DEBUG(driver, 0, "extmidi: couldn't fork: %s", strerror(errno)); - /* FALLTHROUGH */ + /* FALL THROUGH */ default: this->song[0] = '\0'; diff --git a/src/music/qtmidi.cpp b/src/music/qtmidi.cpp index 782ad7aa7b..d938d37bfe 100644 --- a/src/music/qtmidi.cpp +++ b/src/music/qtmidi.cpp @@ -240,7 +240,7 @@ void MusicDriver_QtMidi::Stop() case QT_STATE_PLAY: StopSong(); - /* Fall-through */ + /* FALL THROUGH */ case QT_STATE_STOP: DisposeMovie(_quicktime_movie); @@ -265,13 +265,13 @@ void MusicDriver_QtMidi::PlaySong(const char *filename) case QT_STATE_PLAY: StopSong(); DEBUG(driver, 3, "qtmidi: previous tune stopped"); - /* Fall-through -- no break needed. */ + /* FALL THROUGH */ case QT_STATE_STOP: DisposeMovie(_quicktime_movie); DEBUG(driver, 3, "qtmidi: previous tune disposed"); _quicktime_state = QT_STATE_IDLE; - /* Fall-through -- no break needed. */ + /* FALL THROUGH */ case QT_STATE_IDLE: LoadMovieForMIDIFile(filename, &_quicktime_movie); @@ -292,7 +292,7 @@ void MusicDriver_QtMidi::StopSong() switch (_quicktime_state) { case QT_STATE_IDLE: - /* Fall-through -- no break needed. */ + /* FALL THROUGH */ case QT_STATE_STOP: DEBUG(driver, 3, "qtmidi: stop requested, but already idle"); diff --git a/src/network/core/udp.cpp b/src/network/core/udp.cpp index 9be5636db8..679bfa3136 100644 --- a/src/network/core/udp.cpp +++ b/src/network/core/udp.cpp @@ -246,16 +246,16 @@ void NetworkUDPSocketHandler::Recv_NetworkGameInfo(Packet *p, NetworkGameInfo *i *dst = c; dst = &c->next; } - } // Fallthrough + } // FALL THROUGH case 3: info->game_date = Clamp(p->Recv_uint32(), 0, MAX_DATE); info->start_date = Clamp(p->Recv_uint32(), 0, MAX_DATE); - /* Fallthrough */ + /* FALL THROUGH */ case 2: info->companies_max = p->Recv_uint8 (); info->companies_on = p->Recv_uint8 (); info->spectators_max = p->Recv_uint8 (); - /* Fallthrough */ + /* FALL THROUGH */ case 1: p->Recv_string(info->server_name, sizeof(info->server_name)); p->Recv_string(info->server_revision, sizeof(info->server_revision)); diff --git a/src/network/network_chat_gui.cpp b/src/network/network_chat_gui.cpp index a3c9208cbf..a81e70c8ca 100644 --- a/src/network/network_chat_gui.cpp +++ b/src/network/network_chat_gui.cpp @@ -484,7 +484,7 @@ struct NetworkChatWindow : public QueryStringBaseWindow { switch (widget) { /* Send */ case NWCW_SENDBUTTON: SendChat(this->text.buf, this->dtype, this->dest); - /* FALLTHROUGH */ + /* FALL THROUGH */ case NWCW_CLOSE: /* Cancel */ delete this; break; } } @@ -510,7 +510,7 @@ struct NetworkChatWindow : public QueryStringBaseWindow { } break; case HEBR_CONFIRM: SendChat(this->text.buf, this->dtype, this->dest); - /* FALLTHROUGH */ + /* FALL THROUGH */ case HEBR_CANCEL: delete this; break; case HEBR_NOT_FOCUSED: break; } diff --git a/src/network/network_client.cpp b/src/network/network_client.cpp index 56f1c62228..4e80354eb4 100644 --- a/src/network/network_client.cpp +++ b/src/network/network_client.cpp @@ -782,7 +782,7 @@ DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_CHAT) /* For speaking to company or giving money, we need the company-name */ case NETWORK_ACTION_GIVE_MONEY: if (!Company::IsValidID(ci_to->client_playas)) return NETWORK_RECV_STATUS_OKAY; - /* fallthrough */ + /* FALL THROUGH */ case NETWORK_ACTION_CHAT_COMPANY: { StringID str = Company::IsValidID(ci_to->client_playas) ? STR_COMPANY_NAME : STR_NETWORK_SPECTATORS; SetDParam(0, ci_to->client_playas); diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index e3baf41cb4..f73de7582e 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -688,7 +688,7 @@ public: } return ES_HANDLED; } - /* Fall through when pressing space is pressed and filter isn't focused */ + /* FALL THROUGH, space is pressed and filter isn't focused. */ default: { /* Handle editbox input */ diff --git a/src/network/network_gui.cpp b/src/network/network_gui.cpp index d7a03a99b3..dbf48e0912 100644 --- a/src/network/network_gui.cpp +++ b/src/network/network_gui.cpp @@ -2158,7 +2158,7 @@ struct NetworkJoinStatusWindow : Window { SetDParam(0, _network_join_bytes); SetDParam(1, _network_join_bytes_total); DrawString(r.left + 2, r.right - 2, r.top + 20 + FONT_HEIGHT_NORMAL, STR_NETWORK_CONNECTING_DOWNLOADING, TC_FROMSTRING, SA_HOR_CENTER); - /* Fallthrough */ + /* FALL THROUGH */ default: // Waiting is 15%, so the resting receivement of map is maximum 70% progress = 15 + _network_join_bytes * (100 - 15) / _network_join_bytes_total; } diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp index 3178df8d2f..13a0a42b2f 100644 --- a/src/network/network_server.cpp +++ b/src/network/network_server.cpp @@ -1153,7 +1153,7 @@ void NetworkServerSendChat(NetworkAction action, DestType desttype, int dest, co break; default: DEBUG(net, 0, "[server] received unknown chat destination type %d. Doing broadcast instead", desttype); - /* fall-through to next case */ + /* FALL THROUGH */ case DESTTYPE_BROADCAST: FOR_ALL_CLIENT_SOCKETS(cs) { SEND_COMMAND(PACKET_SERVER_CHAT)(cs, action, from_id, false, msg, data); @@ -1185,7 +1185,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_CHAT) switch (action) { case NETWORK_ACTION_GIVE_MONEY: if (!Company::IsValidID(ci->client_playas)) break; - /* Fall-through */ + /* FALL THROUGH */ case NETWORK_ACTION_CHAT: case NETWORK_ACTION_CHAT_CLIENT: case NETWORK_ACTION_CHAT_COMPANY: diff --git a/src/newgrf.cpp b/src/newgrf.cpp index 2f8560c3cd..05861ec508 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -3028,7 +3028,7 @@ static bool HandleChangeInfoResult(const char *caller, ChangeInfoResult cir, uin case CIR_UNKNOWN: grfmsg(0, "%s: Unknown property 0x%02X of feature 0x%02X, disabling", caller, property, feature); - /* Fall through */ + /* FALL THROUGH */ case CIR_INVALID_ID: /* No debug message for an invalid ID, as it has already been output */ diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 2d382c96fb..195893db71 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -495,7 +495,7 @@ struct NewGRFWindow : public QueryStringBaseWindow { this->InvalidateData(); if (click_count == 1) break; } - /* Fall through with double click. */ + /* FALL THROUGH, with double click. */ case SNGRFS_REMOVE: { // Remove GRF if (this->active_sel == NULL || !this->editable) break; @@ -535,7 +535,7 @@ struct NewGRFWindow : public QueryStringBaseWindow { this->DeleteChildWindows(WC_QUERY_STRING); // Remove the parameter query window if (click_count == 1) break; } - /* Fall through with double click. */ + /* FALL THROUGH, with double click. */ case SNGRFS_ADD: { if (this->avail_sel == NULL || !this->editable) break; @@ -727,13 +727,13 @@ struct NewGRFWindow : public QueryStringBaseWindow { delete c; } - /* Fall through. */ + /* FALL THROUGH */ case 4: this->avails.ForceRebuild(); - /* Fall through. */ + /* FALL THROUGH */ case 2: this->preset = -1; - /* Fall through */ + /* FALL THROUGH */ case 3: { int i = 0; for (const GRFConfig *c = this->actives; c != NULL; c = c->next, i++) {} diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp index 47239a0d69..155bb0bc3d 100644 --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -123,7 +123,7 @@ static uint32 GetCountAndDistanceOfClosestInstance(byte param_setID, byte layout case 0xFFFFFFFF: // current grf GrfID = GetIndustrySpec(current->type)->grf_prop.grffile->grfid; - /* Fall through */ + /* FALL THROUGH */ default: // use the grfid specified in register 100h SetBit(param_setID, 7); // bit 7 means it is not an old type diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index f3c290a1b0..b0d5353626 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -451,7 +451,7 @@ CommandCost CmdBuildSingleRail(TileIndex tile, DoCommandFlag flags, uint32 p1, u if (IsLevelCrossing(tile) && GetCrossingRailBits(tile) == trackbit) { return_cmd_error(STR_ERROR_ALREADY_BUILT); } - /* FALLTHROUGH */ + /* FALL THROUGH */ } default: { diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 56cb20a3cf..8d49abd62e 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -152,7 +152,7 @@ static void ConvertTownOwner() if (GB(_m[tile].m5, 4, 2) == ROAD_TILE_CROSSING && HasBit(_m[tile].m3, 7)) { _m[tile].m3 = OWNER_TOWN; } - /* FALLTHROUGH */ + /* FALL THROUGH */ case MP_TUNNELBRIDGE: if (GetTileOwner(tile) & 0x80) SetTileOwner(tile, OWNER_TOWN); diff --git a/src/signal.cpp b/src/signal.cpp index 9daefff8d6..caba2d592b 100644 --- a/src/signal.cpp +++ b/src/signal.cpp @@ -501,7 +501,7 @@ static SigSegState UpdateSignalsInBuffer(Owner owner) _tbdset.Add(tile, INVALID_DIAGDIR); // start from depot inside break; } - /* FALLTHROUGH */ + /* FALL THROUGH */ case MP_STATION: case MP_ROAD: if ((TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_RAIL, 0)) & _enterdir_to_trackbits[dir]) != TRACK_BIT_NONE) { @@ -510,7 +510,7 @@ static SigSegState UpdateSignalsInBuffer(Owner owner) _tbdset.Add(tile + TileOffsByDiagDir(dir), ReverseDiagDir(dir)); break; } - /* FALLTHROUGH */ + /* FALL THROUGH */ default: /* jump to next tile */ tile = tile + TileOffsByDiagDir(dir); diff --git a/src/spritecache.cpp b/src/spritecache.cpp index 9731504271..35967998e3 100644 --- a/src/spritecache.cpp +++ b/src/spritecache.cpp @@ -551,7 +551,7 @@ static void *HandleInvalidSpriteRequest(SpriteID sprite, SpriteType requested, S switch (requested) { case ST_NORMAL: if (sprite == SPR_IMG_QUERY) usererror("Uhm, would you be so kind not to load a NewGRF that makes the 'query' sprite a non-normal sprite?"); - /* FALLTHROUGH */ + /* FALL THROUGH */ case ST_FONT: return GetRawSprite(SPR_IMG_QUERY, ST_NORMAL); case ST_RECOLOUR: diff --git a/src/timetable_gui.cpp b/src/timetable_gui.cpp index 6d6100d0ec..42f2753f6b 100644 --- a/src/timetable_gui.cpp +++ b/src/timetable_gui.cpp @@ -213,7 +213,7 @@ struct TimetableWindow : Window { this->deparr_time_width = GetStringBoundingBox(STR_JUST_DATE_TINY).width; this->deparr_abbr_width = max(GetStringBoundingBox(STR_TIMETABLE_ARRIVAL_ABBREVIATION).width, GetStringBoundingBox(STR_TIMETABLE_DEPARTURE_ABBREVIATION).width); size->width = WD_FRAMERECT_LEFT + this->deparr_abbr_width + 10 + this->deparr_time_width + WD_FRAMERECT_RIGHT; - /* fall through */ + /* FALL THROUGH */ case TTV_ARRIVAL_DEPARTURE_SELECTION: case TTV_TIMETABLE_PANEL: resize->height = FONT_HEIGHT_NORMAL; diff --git a/src/town_gui.cpp b/src/town_gui.cpp index 4d5cddb1ce..511ff915df 100644 --- a/src/town_gui.cpp +++ b/src/town_gui.cpp @@ -267,7 +267,7 @@ public: this->sel_index = y; this->SetDirty(); } - /* Fall through to clicking in case we are double-clicked */ + /* FALL THROUGH, when double-clicking. */ if (click_count == 1 || y < 0) break; } diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 4e19212f5f..7098c25910 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -3639,7 +3639,7 @@ static bool TrainApproachingLineEnd(Train *v, bool signal) * for other directions, it will be 1, 3, 5, ..., 15 */ switch (v->direction) { case DIR_N : x = ~x + ~y + 25; break; - case DIR_NW: x = y; // FALLTHROUGH + case DIR_NW: x = y; // FALL THROUGH case DIR_NE: x = ~x + 16; break; case DIR_E : x = ~x + y + 9; break; case DIR_SE: x = y; break; diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index 527068da1f..9a9d869fc8 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -516,7 +516,7 @@ struct RefitWindow : public Window { BuildRefitList(v, &this->list); this->vscroll.SetCount(this->list.Length()); } - /* FALLTHROUGH */ + /* FALL THROUGH */ case 1: // A new cargo has been selected. this->cargo = (this->sel >= 0 && this->sel < (int)this->list.Length()) ? &this->list[this->sel] : NULL; @@ -1633,7 +1633,7 @@ struct VehicleDetailsWindow : Window { DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE); break; } - /* Fallthrough */ + /* FALL THROUGH */ case VEH_SHIP: case VEH_AIRCRAFT: SetDParam(0, v->GetDisplayMaxSpeed()); @@ -2150,7 +2150,7 @@ public: str = STR_VEHICLE_STATUS_LEAVING; break; } - /* fall-through if aircraft. Does this even happen? */ + /* FALL THROUGH, if aircraft. Does this even happen? */ default: if (v->GetNumOrders() == 0) { diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp index 34129fc057..8962c900f7 100644 --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -364,7 +364,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP case WM_PALETTECHANGED: if ((HWND)wParam == hwnd) return 0; - /* FALLTHROUGH */ + /* FALL THROUGH */ case WM_QUERYNEWPALETTE: { HDC hDC = GetWindowDC(hwnd); diff --git a/src/viewport.cpp b/src/viewport.cpp index 99afa1ddb5..155c54782c 100644 --- a/src/viewport.cpp +++ b/src/viewport.cpp @@ -2200,7 +2200,7 @@ static int CalcHeightdiff(HighLightStyle style, uint distance, TileIndex start_t start_tile = TILE_ADD(start_tile, ToTileIndexDiff(heightdiff_area_by_dir[style_t])); end_tile = TILE_ADD(end_tile, ToTileIndexDiff(heightdiff_area_by_dir[2 + style_t])); } - /* Fallthrough */ + /* FALL THROUGH */ case HT_POINT: h0 = TileHeight(start_tile); h1 = TileHeight(end_tile); @@ -2542,7 +2542,7 @@ void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method) case VPM_X_LIMITED: // Drag in X direction (limited size). limit = (_thd.sizelimit - 1) * TILE_SIZE; - /* Fallthrough. */ + /* FALL THROUGH */ case VPM_FIX_X: // drag in Y direction x = sx; @@ -2551,7 +2551,7 @@ void VpSelectTilesWithMethod(int x, int y, ViewportPlaceMethod method) case VPM_Y_LIMITED: // Drag in Y direction (limited size). limit = (_thd.sizelimit - 1) * TILE_SIZE; - /* Fallthrough. */ + /* FALL THROUGH */ case VPM_FIX_Y: // drag in X direction y = sy; @@ -2588,7 +2588,7 @@ calc_heightdiff_single_direction:; limit = (_thd.sizelimit - 1) * TILE_SIZE; x = sx + Clamp(x - sx, -limit, limit); y = sy + Clamp(y - sy, -limit, limit); - /* Fallthrough. */ + /* FALL THROUGH */ case VPM_X_AND_Y: { // drag an X by Y area if (_settings_client.gui.measure_tooltip) { diff --git a/src/widget.cpp b/src/widget.cpp index 7ef3b73228..304ffb6d3f 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -1861,7 +1861,7 @@ void NWidgetLeaf::SetupSmallestSize(Window *w, bool init_array) } case WWT_EDITBOX: size.height = max(size.height, GetStringBoundingBox("_").height + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM); - /* fall through */ + /* FALL THROUGH */ case WWT_PUSHBTN: { static const Dimension extra = {WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM}; padding = &extra;