Viewing file: 20030714-1.c (3.46 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* derived from PR optimization/11440 */
extern void abort (void); extern void exit (int);
typedef _Bool bool; const bool false = 0; const bool true = 1;
enum EPosition { STATIC, RELATIVE, ABSOLUTE, FIXED }; typedef enum EPosition EPosition;
enum EFloat { FNONE = 0, FLEFT, FRIGHT }; typedef enum EFloat EFloat;
struct RenderBox { int unused[6]; short m_verticalPosition; bool m_layouted : 1; bool m_unused : 1; bool m_minMaxKnown : 1; bool m_floating : 1; bool m_positioned : 1; bool m_overhangingContents : 1; bool m_relPositioned : 1; bool m_paintSpecial : 1; bool m_isAnonymous : 1; bool m_recalcMinMax : 1; bool m_isText : 1; bool m_inline : 1; bool m_replaced : 1; bool m_mouseInside : 1; bool m_hasFirstLine : 1; bool m_isSelectionBorder : 1; bool (*isTableCell) (struct RenderBox *this); };
typedef struct RenderBox RenderBox;
struct RenderStyle { struct NonInheritedFlags { union { struct { unsigned int _display : 4; unsigned int _bg_repeat : 2; bool _bg_attachment : 1; unsigned int _overflow : 4 ; unsigned int _vertical_align : 4; unsigned int _clear : 2; EPosition _position : 2; EFloat _floating : 2; unsigned int _table_layout : 1; bool _flowAroundFloats :1;
unsigned int _styleType : 3; bool _hasHover : 1; bool _hasActive : 1; bool _clipSpecified : 1; unsigned int _unicodeBidi : 2; int _unused : 1; } f; int _niflags; }; } noninherited_flags; };
typedef struct RenderStyle RenderStyle;
extern void RenderObject_setStyle(RenderBox *this, RenderStyle *_style); extern void removeFromSpecialObjects(RenderBox *this);
void RenderBox_setStyle(RenderBox *thisin, RenderStyle *_style) { RenderBox *this = thisin; bool oldpos, tmp; EPosition tmppo; tmp = this->m_positioned;
oldpos = tmp;
RenderObject_setStyle(this, _style); tmppo = _style->noninherited_flags.f._position;
switch(tmppo) { case ABSOLUTE: case FIXED: { bool ltrue = true; this->m_positioned = ltrue; break; }
default: { EFloat tmpf; EPosition tmpp; if (oldpos) { bool ltrue = true; this->m_positioned = ltrue; removeFromSpecialObjects(this); } { bool lfalse = false; this->m_positioned = lfalse; }
tmpf = _style->noninherited_flags.f._floating;
if(!this->isTableCell (this) && !(tmpf == FNONE)) { bool ltrue = true; this->m_floating = ltrue; } else { tmpp = _style->noninherited_flags.f._position; if (tmpp == RELATIVE) { bool ltrue = true; this->m_relPositioned = ltrue; } } } } }
RenderBox g_this; RenderStyle g__style;
void RenderObject_setStyle(RenderBox *this, RenderStyle *_style) { (void) this; (void) _style; }
void removeFromSpecialObjects(RenderBox *this) { (void) this; }
bool RenderBox_isTableCell (RenderBox *this) { (void) this; return false; }
int main (void) {
g_this.m_relPositioned = false; g_this.m_positioned = false; g_this.m_floating = false; g_this.isTableCell = RenderBox_isTableCell;
g__style.noninherited_flags.f._position = FIXED; g__style.noninherited_flags.f._floating = FNONE;
RenderBox_setStyle (&g_this, &g__style); if (g_this.m_positioned != true) abort (); if (g_this.m_relPositioned != false) abort (); if (g_this.m_floating != false) abort ();
exit (0); }
|