anchor.diff:       "                                ERL_NIF_LATIN1);\n",
        "    }\n",
        "    else\n",
  -     "    {\n",
  -     "        unsigned int  cp[numcp];\n",
  -     "        ERL_NIF_TERM  es[numcp];\n",
  -     "        int i;\n",
  -     "\n",
  -     "        utf8_to_uint32(cp, utf8data, numcp);\n",
  -     "        for (i = 0; i < numcp; i++)\n",
  -     "            es[i] = enif_make_uint(env, cp[i]);\n",
  -     "        return enif_make_list_from_array(env, es, numcp);\n",
  -     "    }\n",
  +     case get_strings_as_binaries_by_opts(Opts) of
  +         true ->
  +             ["    {\n",
  +              "        ERL_NIF_TERM   b;\n",
  +              "        unsigned char *data;\n",
  +              "\n",
  +              "        data = enif_make_new_binary(env, numOctets, &b);\n",
  +              "        memmove(data, utf8data, numOctets);\n",
  +              "        return b;\n",
  +              "    }\n"];
  +         false ->
  +             ["    {\n",
  +              "        unsigned int  cp[numcp];\n",
  +              "        ERL_NIF_TERM  es[numcp];\n",
  +              "        int i;\n",
  +              "\n",
  +              "        utf8_to_uint32(cp, utf8data, numcp);\n",
  +              "        for (i = 0; i < numcp; i++)\n",
  +              "            es[i] = enif_make_uint(env, cp[i]);\n",
  +              "        return enif_make_list_from_array(env, es, numcp);\n"
  +              "    }\n"]
  +     end,
        "}\n",
        "\n"].
   
  
positive.code: decode_int_value(ResVar, Bindings, #field{type=Type}, Opts, TailFn) ->
      Value = fetch_binding('<Value>', Bindings),
      Rest = fetch_binding('<Rest>', Bindings),
      StringsAsBinaries = proplists:get_bool(strings_as_binaries, Opts),
      case Type of
          sint32 ->
              TailFn(decode_zigzag_to_var(ResVar, Value), Rest);
  
negative.code: repeat_clauses(Marker, RepetitionReplacements) ->
      {repeat_clauses, Marker, RepetitionReplacements}.
  
  get_strings_as_binaries_by_opts(Opts) ->
      proplists:get_bool(strings_as_binaries, Opts).
  
  flatten_iolist(IoList) ->
      binary_to_list(iolist_to_binary(IoList)).
  
  