~ubuntu-branches/ubuntu/trusty/erlang/trusty

« back to all changes in this revision

Viewing changes to erts/emulator/beam/erl_bif_re.c

  • Committer: Bazaar Package Importer
  • Author(s): Clint Byrum
  • Date: 2011-05-05 15:48:43 UTC
  • mfrom: (3.5.13 sid)
  • Revision ID: james.westby@ubuntu.com-20110505154843-0om6ekzg6m7ugj27
Tags: 1:14.b.2-dfsg-3ubuntu1
* Merge from debian unstable.  Remaining changes:
  - Drop libwxgtk2.8-dev build dependency. Wx isn't in main, and not
    supposed to.
  - Drop erlang-wx binary.
  - Drop erlang-wx dependency from -megaco, -common-test, and -reltool, they
    do not really need wx. Also drop it from -debugger; the GUI needs wx,
    but it apparently has CLI bits as well, and is also needed by -megaco,
    so let's keep the package for now.
  - debian/patches/series: Do what I meant, and enable build-options.patch
    instead.
* Additional changes:
  - Drop erlang-wx from -et
* Dropped Changes:
  - patches/pcre-crash.patch: CVE-2008-2371: outer level option with
    alternatives caused crash. (Applied Upstream)
  - fix for ssl certificate verification in newSSL: 
    ssl_cacertfile_fix.patch (Applied Upstream)
  - debian/patches/series: Enable native.patch again, to get stripped beam
    files and reduce the package size again. (build-options is what
    actually accomplished this)
  - Remove build-options.patch on advice from upstream and because it caused
    odd build failures.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
 * %CopyrightBegin%
3
 
 * 
4
 
 * Copyright Ericsson AB 2008-2009. All Rights Reserved.
5
 
 * 
 
3
 *
 
4
 * Copyright Ericsson AB 2008-2010. All Rights Reserved.
 
5
 *
6
6
 * The contents of this file are subject to the Erlang Public License,
7
7
 * Version 1.1, (the "License"); you may not use this file except in
8
8
 * compliance with the License. You should have received a copy of the
9
9
 * Erlang Public License along with this software. If not, it can be
10
10
 * retrieved online at http://www.erlang.org/.
11
 
 * 
 
11
 *
12
12
 * Software distributed under the License is distributed on an "AS IS"
13
13
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
14
14
 * the License for the specific language governing rights and limitations
15
15
 * under the License.
16
 
 * 
 
16
 *
17
17
 * %CopyrightEnd%
18
18
 */
19
19
 
76
76
    re_exec_trap_export.code[0] = am_erlang;
77
77
    re_exec_trap_export.code[1] = am_re_run_trap;
78
78
    re_exec_trap_export.code[2] = 3;
79
 
    re_exec_trap_export.code[3] = (Eterm) em_apply_bif;
80
 
    re_exec_trap_export.code[4] = (Eterm) &re_exec_trap;
 
79
    re_exec_trap_export.code[3] = (BeamInstr) em_apply_bif;
 
80
    re_exec_trap_export.code[4] = (BeamInstr) &re_exec_trap;
81
81
 
82
82
    grun_trap_exportp =  erts_export_put(am_re,am_grun,3);
83
83
    urun_trap_exportp =  erts_export_put(am_re,am_urun,3);
103
103
 
104
104
static int term_to_int(Eterm term, int *sp)
105
105
{
106
 
#ifdef ARCH_64
 
106
#if defined(ARCH_64) && !HALFWORD_HEAP
107
107
 
108
108
    if (is_small(term)) {
109
109
        Uint x = signed_val(term);
154
154
 
155
155
static Eterm make_signed_integer(int x, Process *p)
156
156
{
157
 
#ifdef ARCH_64
 
157
#if defined(ARCH_64) && !HALFWORD_HEAP
158
158
    return make_small(x);
159
159
#else
160
160
    Eterm* hp;
884
884
            int capture_count;
885
885
 
886
886
            if (pflags & PARSE_FLAG_UNICODE && 
887
 
                (!is_binary(BIF_ARG_1) || 
 
887
                (!is_binary(BIF_ARG_2) || !is_binary(BIF_ARG_1) ||
888
888
                 (is_list_cap && !(pflags & PARSE_FLAG_GLOBAL)))) { 
889
889
                BIF_TRAP3(urun_trap_exportp, BIF_P, BIF_ARG_1, BIF_ARG_2, BIF_ARG_3);
890
890
            }
1020
1020
            goto handle_iolist;
1021
1021
        }
1022
1022
        pb = (ProcBin *) bptr;
 
1023
        if (pb->flags) {
 
1024
            erts_emasculate_writable_binary(pb);
 
1025
        }
1023
1026
        restart.subject = (char *) (pb->bytes+offset);
1024
1027
        restart.flags |= RESTART_FLAG_SUBJECT_IN_BINARY;
1025
1028
    } else {