xpcom/tests/ShowAlignments.cpp

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     1 /* vim: set shiftwidth=2 tabstop=8 autoindent cindent expandtab: */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     6 /* show the size and alignment requirements of various types */
     8 #include "nsMemory.h"
     9 #include <stdio.h>
    11 struct S {
    12   double d;
    13   char c;
    14   short s;
    15 };
    17 int main()
    18 {
    19   static const char str[] =
    20     "Type %s has size %u and alignment requirement %u\n";
    21   #define SHOW_TYPE(t_) \
    22     printf(str, #t_, unsigned(sizeof(t_)), unsigned(NS_ALIGNMENT_OF(t_)))
    24   SHOW_TYPE(char);
    25   SHOW_TYPE(unsigned short);
    26   SHOW_TYPE(int);
    27   SHOW_TYPE(long);
    28   SHOW_TYPE(uint8_t);
    29   SHOW_TYPE(int16_t);
    30   SHOW_TYPE(uint32_t);
    31   SHOW_TYPE(void*);
    32   SHOW_TYPE(double);
    33   SHOW_TYPE(short[7]);
    34   SHOW_TYPE(S);
    35   SHOW_TYPE(double S::*);
    37   return 0;
    38 }

mercurial