GithubHelp home page GithubHelp logo

mailparser's Introduction

mailparser

Nodemailer

Advanced email parser for Node.js. Everything is handled as a stream which should make it able to parse even very large messages (100MB+) with relatively low overhead.

Looking for a front-end solution?

mailparser is Node.js only library, so you can't use it reliably in the front-end or bundle with WebPack. If you do need a solution to parse emails in the front-end then use PostalMime.

Installation

First install the module from npm:

$ npm install mailparser

next import the mailparser object into your script:

const mailparser = require('mailparser');

Usage

See mailparser homepage for documentation and terms.

License

Licensed under MIT

mailparser's People

Contributors

aleksandr-rakov avatar andris9 avatar aqaurius6666 avatar arronzhang avatar avvs avatar baudehlo avatar christiaan avatar davidiam avatar deepwell avatar github-actions[bot] avatar kt286 avatar luddd3 avatar mcdonnez avatar mithgol avatar msimerson avatar neemah avatar pdehaan avatar petersalomonsen avatar qfl1ck32 avatar rfkm avatar romansbermans avatar royalbingbong avatar rustyconover avatar skabbes avatar smartmatt avatar stovenator avatar tajinder avatar timelesshaze avatar toymachiner62 avatar vgrichina avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mailparser's Issues

corner case for _generateFileName

There's a corner case in generated filenames. If you have an email with the following attachments:

somename.txt
somename-1.txt
somename.txt

Then the generated file names will not be unique as the code looks for exact matches and adds -index for the duplicates.

Unable to get test.js to work with 0.6.5 on Centos 5

I have downloaded and installed the dependencies and I get no output for test.js using the provided mail.txt file.

├─┬ [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected] extraneous
├── [email protected] extraneous
├─┬ [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected] extraneous
│ └── [email protected]
└─┬ [email protected] extraneous
├── [email protected]
└── [email protected]

Stuck on one message

When I pipe lots of emails into the parser, the on end handler correctly fires for each one. However, the data is the same each time. More accurately, it's the first message that was processed that is returned each time.

Unable to load shared library iconv.node

Hello,

i'm using ubuntu 12.04 and not able to use mailparser. Only adding this in a file

require('mailparser');

triggers this error:

module.js:477
  process.dlopen(filename, module.exports);
          ^
Error: Unable to load shared library /home/jon/code/mailparsertest/node_modules/mailparser/node_modules/iconv/build/Release/iconv.node
    at Object..node (module.js:477:11)
    at Module.load (module.js:353:31)
    at Function._load (module.js:311:12)
    at Module.require (module.js:359:17)
    at require (module.js:375:17)
    at Object.<anonymous> (/home/jon/code/mailparsertest/node_modules/mailparser/node_modules/mimelib/mime-functions.js:1:75)
    at Module._compile (module.js:446:26)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)
    at Function._load (module.js:311:12)

Any help appreciated, thanks.

charset with quotes is not stripped

Some emails quote the charset like so:

Content-Type: text/plain;
        charset="utf-8"

The quotes must be removed to avoid errors from Iconv. Here is a quick fix to mailparser.js (line 80 ish)

    // charset
    headers.charset = parts.charset || "us-ascii";
    var match = /"([^"]+)"/.exec(headers.charset)
    if(match) {
      headers.charset = match[1];
      console.log(headers.charset)
    }

I'll code up a proper patch when I get round to it.

Japanese not be decode correct

like this
{"from"=>"\e$B%O%C%T!<%?%$%`", "subject"=>"\e$B;D$jF|?t$"$H$o$:$+\e(B!!\e$B%8%c%s%%/\e(B\e$B%C%7%g%s$r$48!F$Cf$NJ}$O!"$*Aa$a$K\e(B!!!"}

format=flowed does not work with quoted-printable encoding

Although use of quoted-printable with format-flowed is discouraged, Thunderbird does it anyways.

The simplest solution is to do the format=flowed transform after the quoted-printable decoding. Here's a patch (with regrettable whitespace changes because my limited-fork already let js2-mode go to town...) that shows how that might go:

asutherland@f03b3a5

I can provide a proper fix without the whitespace ugliness and with a test case, if you like. The unit test would be straightforward; the b2g e-mail lib's test case for it is in this pull request: asutherland/gaia-email-libs-and-more#1

Add gb2312 parsing support

Email headers with this Chinese character set are not properly parsed by mailparser.

Eg:
From: =?gb2312?B?086yyZjl?= [email protected]
...
Content-Type: text/html; charset="gb2312"

The message body is parsed correctly, but the FROM name is displayed incorrectly: �βɘ�

Multiple calls of 'end' callBack

If a mail contains an attachment the callBack registered for 'end' will be called several times. What am I doing wrong, or is this a bug? If you need more input please let me know, since it will take some time to modify my testcases so they can be displayed publicly.

MailParser only returning partial email content

I have an odd email where in the raw content it is in multiple parts, and when parsing it with MailParser, only the last footer section is returned as valid content. However in GMail and Outlook, all parts of the email are parsed and returned together.

Expected results:
Email should contain both the Dear Sir, Good evening text & the footer content.

Current results:
Only the footer content is returned by MailParser.

Parsing sometimes causes crash, no error message

The code below is part of a larger function in my software that uses mailparser 0.2.27 (with node-imap's help) to retrieve the selected attachment from an email message and deliver it to the user's web browser.

var fetch = connection.fetch(id, { request: { struct: false, headers: false, body: 'full' } } );
fetch.on('message', function(msg) {
  var chunk = '';

  msg.on('data', function(str) {
    chunk = chunk + str;
  });
  msg.on('end', function() {
    var mailparser = new MailParser( { streamAttachments: false } );
    mailparser.on('end', function(mail) {
      // look for the proper attachment
      for (var i in mail.attachments) {
        if (mail.attachments[i].generatedFileName == filename) {
          result = mail.attachments[i];
          callback(null, result);
          return;
        }
      }

      // no matching attachment found
      result.err = 'attachmentexisterror';
      callback('attachmentexisterror', result);
    });

    mailparser.end(chunk);
  });
});

Most of the time, it works fine. But occasionally, an email message that worked previously causes node to stop running. There's no error message at all, it just stops running. This has happened with three separate messages each containing single attachments (sizes ranging from 3 to 6 MB). I can replicate the error by loading the attachment over and over.

By adding console.log() messages, I have determined that mailparser stops running somewhere in the if statement that checks for a multipart block ending in _processStateBody().

Is this a bug or am I doing something wrong?

Unexpected behaviour of showAttachmentLinks-option

Hi Andris,

Once again, great work on your MIME and mail classes.

Today i ran into an issue:

I tried to parse a MIME message with no HTML-part, but with attachments. Since there was no HTML, the option showAttachmentLinks didn't do anything: there was no HTML to append the links to and so the links where missing in the final output.

Maybe showAttachmentLinks should force the existence of a html part in the result, when attachments are found?

Usenet style signatures are incorrectly parsed when format=flowed

The parser does not obey the rules from section 4.3 Usenet Signature Convention of RFC 3676.

The following sample shows the issue.

Using format=flowed

var MailParser = require("mailparser").MailParser,
    mailparser = new MailParser();

var email = "From: 'Sender Name' <[email protected]>\r\n"+
            "To: 'Receiver Name' <[email protected]>\r\n"+
            "Subject: Hello world!\r\n"+
            "Content-Type: text/plain; charset=UTF-8; format=flowed\r\n"+
            "\r\n"+
            "How are you today?\r\n"+
            "-- \r\n"+
            "Signature\r\n";

mailparser.on("end", function(mail){
  console.log(mail.text);
});

mailparser.write(email);
mailparser.end();

Expected Output

How are you today?
-- 
Signature

Actual Output

How are you today?
-- Signature

The parser works as expected when format=flowed isn't added to the Content-Type header.

Parsing more than one email ...

Hi, i recently saw your parsing library and tried to parse several emails/headers.

But somehow it does not seem to be possible. I tried the following (and some other) calls:

var email = [];
email.push("From: 'Sender 1' <[email protected]>\r\n"+
            "To: 'Receiver Name' <[email protected]>\r\n"+
            "Subject: Hello world!\r\n"+
            "\r\n"+
            "How are you today?");
email.push("From: 'Sender 2' <[email protected]>\r\n"+
            "To: 'Receiver Name' <[email protected]>\r\n"+
            "Subject: Hello world!\r\n"+
            "\r\n"+
            "How are you today?");
email.push("From: 'Sender 3' <[email protected]>\r\n"+
            "To: 'Receiver Name' <[email protected]>\r\n"+
            "Subject: Hello world!\r\n"+
            "\r\n"+
            "How are you today?"); 

mailparser.on("headers", function(headers){
    console.log('###headers');
        console.log(headers);
});
while(i--) {
    mailparser.write(email[i]);
    mailparser.end();
}

I'm not sure if i'm doing it right and i will feel sooory and ashamed if this issue is a lack of my javascript understanding.

Greets,

Chris

Issue with streaming attachments: cid / contentId / missing id?

Hi!

Great work on mailparser. I ran into an issue:

After sending mail using nodemailer (which is excellent too! :-) ) i ran into an issue decoding the attachments of this e-mail. I'm not sure whether this is a nodemailer or mailparser issue, but i hope someone else knows...

I tried the following code:

....
mailparser = new MailParser({
    streamAttachments: true,
    showAttachmentLinks: true
});

mailparser.on('attachment', function (attachment) {
    console.log(attachment);
});

// setup an event listener when the parsing finishes
mailparser.on('end', function (mailObject) {
    console.log(mailObject.attachments[0]);
}
mailparser.write(rawMailBody);
mailparser.end();
....

Now the following occurs. The first console.log() looks like

attachment {
    transferEncoding: 'base64',
    stream: [Object],
    contentType: 'image/jpeg',
    contentDisposition: 'attachment',
    fileName: "Tulips.jpg"
    generateFileName: "Tulips.jpg"
}

I expected a property contentId but it doesn't seem present. (Other mails / attachments do have this property, but this particular mail doesn't).

The second console.log() looks like

attachment {
    transferEncoding: 'base64',
    stream: [Object],
    length: 620888
    contentType: 'image/jpeg',
    checksum: 'fafa5efeaf3cbe3b23b2748d13e629a1',
    contentDisposition: 'attachment',
    fileName: "Tulips.jpg",
    generateFileName: "Tulips.jpg",
    cid: "Tulips.jpg@node"
}

Now i see a "cid", but the documentation states it should be "contentId".

The raw e-mail body (as generated by nodemailer) can be found here: https://www.kingsquare.nl/download/?id=16834876

Am i missing something here?

Thanks for any advice!

Tim

Segmentation fault

Return-Path: [email protected]
Received: from 192.168.0.100
by mx.google.com with ESMTPS id h9sm19556644ibh.11.2012.02.18.04.59.23
(version=TLSv1/SSLv3 cipher=OTHER);
Sat, 18 Feb 2012 04:59:27 -0800 (PST)
Subject: Craigslist deploys nodejs based smtp server --haraka
From: newdongyuwei [email protected]
Content-Type: multipart/mixed; boundary=Apple-Mail-89C7B333-ABDC-4E03-8354-F584020EA7EE
Message-Id: [email protected]
Date: Sat, 18 Feb 2012 20:59:19 +0800
To: [email protected]
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (1.0)
X-Mailer: iPad Mail (9A405)

--Apple-Mail-89C7B333-ABDC-4E03-8354-F584020EA7EE
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=us-ascii

--Apple-Mail-89C7B333-ABDC-4E03-8354-F584020EA7EE
Content-Disposition: inline;
filename=photo.PNG
Content-Type: image/png;
name=photo.PNG
Content-Transfer-Encoding: base64

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
13rgNgXLc6tWTTW/2z+446xcuUa/5ANBsGbNavGSQwGCZRk++ggQYOHHjhkOfAEIswior3XrZvHy
+jvhNEZYnzFhwhTDdJ26AmXN6um/vQy4WMHCjwXduC7gx28P/ljiesIXpf76a7leD9ZsgFM77OUF
2oe/PdZXoP+4drBmATMpVsCsSL16tWTgwJ8ESm2qVCmVXaj1WuU7bRNyHcTEFFF3MSitcJ1ymsVx
qoPnSIAESIAESOB6IJDCWISvfLvwemhxhLUxNvaSEUxPhL1VsIxbLg++lcMXHi4+WIgJlxd7wHDD
Yu5PCLente9DqMRsAAKs0FAKsLjXX4D7ECzXdkssFoQ2b97YK8A75XXKB/ccWP3tZSEv3G8slyWr
LPQP1mSrrdZ5f+nt8U77mEmAspOYgJkDtDuhwWmM3PplL9/tukA6X5ZghWsBYzlr1jx16bLcipza
Ya8LC4WPHTsuENoTG7AAGMqafRwD1ZvYuqx8TteNFWffoh0Yfwr/dircJwESIAESiAYCiZNsoqHn
13kf/An/6BbcKyD4+wr/iIMQnVDhH/nsArVTuUhjD3ZrL85DUMQnSy3rvT2tfd83H+LQH6dgFxqt
ePTP3lbrPLZO6e3xTvuJFf5RVmKEf+RzGiO3fiGPFdyuC6TxZQlXMHztCDM9mDGxhH+kdWoHzlsB
ZTl9itOKD2YLxcN3XALVG0y5bml86/OXFu2g8O+PDs+TAAmQAAlczwQ4AxDi6F2rGYAQm83sJEAC
JEACJEACJEACyZSAfx+OZAqE3SYBEiABEiABEiABEiCBaCZABSCaR5d9IwESIAESIAESIAESIAEf
AlQAfIDwkARIgARIgARIgARIgASimQAVgGgeXfaNBEiABEiABEiABEiABHwIUAHwAcJDEiABEiAB
EiABEiABEohmAlQAonl02TcSIAESIAESIAESIAES8CFABcAHCA9JgARIgARIgARIgARIIJoJUAGI
5tFl30iABEiABEiABEiABEjAhwAVAB8gPCQBEiABEiABEiABEiCBaCZABSCaR5d9IwESIAESIAES
IAESIAEfAlQAfIDwkARIgARIgARIgARIgASimQAVgGgeXfaNBEiABEiABEiABEiABHwIUAHwAcJD
EiABEiABEiABEiABEohmAlQAonl02TcSIAESIAESIAESIAES8CFABcAHCA9JgARIgARIgARIgARI
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
+aF8zFLAT98t4PrAl3

Segmentation fault (core dumped) on example code

Hi,
I am trying to run the following example code:

var MailParser = require("mailparser").MailParser,
    mailparser = new MailParser();

var email = "From: 'Sender Name' <[email protected]>\r\n"+
            "To: 'Receiver Name' <[email protected]>\r\n"+
            "Subject: Hello world!\r\n"+
            "\r\n"+
            "How are you today?";

// setup an event listener when the parsing finishes
mailparser.on("end", function(mail_object){
    console.log("From:", mail_object.from); //[{address:'[email protected]',name:'Sender Name'}]
    console.log("Subject:", mail_object.subject); // Hello world!
    console.log("Text body:", mail_object.text); // How are you today?
});

// send the email source to the parser
mailparser.write(email);
mailparser.end();

and get the following result (debug flag on):

$ node test.js
REMAINDER: From: 'Sender Name' <[email protected]>
To: 'Receiver Name' <[email protected]>
Subject: Hello world!

How are you today?
LINE 1 (1): From: 'Sender Name' <[email protected]>
LINE 2 (1): To: 'Receiver Name' <[email protected]>
LINE 3 (1): Subject: Hello world!
LINE 4 (1): 
Segmentation fault (core dumped)
$

What could be the problem?

Node version v0.6.17
NPM tree:
├─┬ [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ └── [email protected]
│ └─┬ [email protected]
│   └── [email protected]

Thanks

PDF file parsed wrong

Hello,

I'm using your library for uploading files to the server.
I notice that one file on PDF format parsed wrongly. other files (even on the PDFs works great).

Here is the different line on the PDF file, the first line is from the parser and the second is from the source file:
http://s000.tinyupload.com/index.php?file_id=49545284686421828961

You can view it with simple text editor, on column 1087:
It's parsed as &)S!..&)S! instead of &)S!.&)S!

Thanks a lot!

node-iconv Dependency

Is there any way to remove this dependency? node-iconv depends on node-waf. It's annoying. What about the mimelib-noiconv package that you maintain?

Thanks!

feed assumes an SMTP-style feed

Can you make feed() only assume SMTP "\r\n.." fixup given a config parameter?

I'm thinking of integrating this into Haraka, but I've already fixed up the ".."s there (for obvious reasons).

Issue with iconv not installing with npm

Every time I try to install mailparser with the package manager I get the Error: Cannot find module 'iconv'.

I was able to fix this locally by manually adding iconv to the mailparser's own node_modules dir but I am unable to do so since I deploy my app to a host which installs modules automatically via package.json. Any ideas why this is happening?

Mail attachments not being parsed

Hiya, I'm not sure how best to document this issue but I can't get mailparser to parse and output mail.attachments from googlemail.
I am using mailparser with mail-listener and If I put console.log(data.toString()) in my maillistener object like:

msg.on("data", function(data) {
console.log(data.toString())
return parser.write(data.toString());
});
I can get the binary output of the attachment but any console logs inside the attachment parsing logic in mailparser.js are not run and I cannot get parsed attachments. Sorry this is sort of vague but do you know of any issues or hints on how to investigate the problem? thanks

stream attachments size

Is there a way to get the size of the attachments with 'streamAttachments' and before 'end' so only attachments above specific size are streamed through? Thanks.

does not reemit error events

I'm piping an imap library to the mailparser. I listen to 'end' and 'error' events of the mailparser. however, when an error occurs in the imap stream the application crashes since the error event is not imlemented in streams. is this on purpose/should I be listeninng to the imap stream as well for error events?

test.js example doesn't work.

I was trying to parse some emails with mailparser, but failed. I went on to try the example test.js, but even that does not parse the email.

Running multiple emails through mail parser

It seems that if you try to use mailparser to parse multiple emails, you get
warning: possible EventEmitter memory leak detected.

In my use case, I would like to run though an array of emails which are .txt files and send them through mailparser.

It seems I have to create a new mailparser object for each email to do this correctly. Is this the case or am I doing something wrong?

If its not too much, it might be worthwhile to make an example folder for showing a couple standalone examples, including using mailparser to parse multiple emails.

Thanks.

Body text not parsed from Sparrow Mail messages

I am not sure if it is really a bug, as it is easily resolved outside of parser.

As I understood Sparrow Mail sends text as attachment with "text/plain" Content-Type and so body is empty. How do you think, should it be fixed in mailparser?

console.log in release

Hi there,

The latest released package (0.1.0) has a few console.log statements. Would you consider making a new release without those? It would also be great if you tagged the git repo when a release is made.

Thanks for this library!

Aslak

bodyHTML always empty

Hey,

I'm trying to parse the following mail: https://gist.github.com/2cf4c32b7c915f1013e7
(The encoding is broken but nevermind - I fixed that, it was my fault.)

But on the "body" event I get a body hash where bodyHTML is always empty. I already tried to debug mailparser and found out that bodyHTML disappears at the block where you initialize MailParser inside MailParser (mailparser.js#L279).

Do you know why that happens?

bodyText always html-stripped bodyHTML??

At https://github.com/andris9/mailparser/blob/master/mailparser.js#L430 there is:

if(this.bodyData.bodyText && !!this.bodyData.bodyHTML)
  this.bodyData.bodyText = stripHTML(this.bodyData.bodyHTML);

In other words, if we already have a plain text body and a HTML body, overwrite the plain text body with a stripped version of the html body.

Shouldn't this be:

if(!this.bodyData.bodyText && !!this.bodyData.bodyHTML)
  this.bodyData.bodyText = stripHTML(this.bodyData.bodyHTML);

app crashing with no error message

It seems to throw an error when trying to parse a message, whether i'm piping data to it or waiting for the full message then writing to mailparser.

Here is the code...

var ImapConnection = require('imap').ImapConnection;
var MailParser = require("mailparser").MailParser;
var fs = require('fs');

var imapper = function() {

};

imapper.prototype.getMail = function(usr,pw,callback) {
  var imap = new ImapConnection({
    username: usr,
    password: pw,
    host: 'imap.gmail.com',
    port: 993,
    secure: true
  });

  function openInbox(cb) {
    imap.connect(function(err) {
      if (err) {
        console.log(err);
        return cb(err);
      }
      imap.openBox('INBOX', false, cb);
    });
  }

  openInbox(function(err, mailbox) {
    if (err) {
      console.log(err);
      return;
    }
    imap.search([ 'UNSEEN' ], function(err, results) {
      if (err || !results || !results.length) return callback([]);
      var todo = results.length;
      var done = 0;
      var fetch = imap.fetch(results, {
        request: {
          headers: false,
          body: 'full'
        }
      });
      var res = [];
      fetch.on('message', function(msg) {
        var mp = new MailParser({
          streamAttachments: true
        });
        msg.on('data',function(chunk) {
          mp.write(chunk);
        });
        mp.on('end',function(mail) {
          res.push(mail);
          if (++done == todo) {
            callback(res);
          }
        });
        mp.on("attachment", function(attachment){
          var output = fs.createWriteStream(attachment.generatedFileName);
          attachment.stream.pipe(output);
        });
        msg.on('end',function() {
          mp.end();
        });
      });
      fetch.on('end', function() {
        imap.logout();
      });
    });
  });
};


module.exports = new imapper();

Any ideas?

Parsing issue on CentOS

I have mailparser working perfectly on my Mac, but when I tried to run a vows test that calls mailparser during a unit test it fails. Specifically, I am getting the following exception:

node: /root/.node-gyp/0.6.18/src/node_object_wrap.h:62: void node::ObjectWrap::Wrap(v8::Handlev8::Object): Assertion `handle->InternalFieldCount() > 0' failed.

I am basically using the code as is presented in the examples (using imap to retrieve the msg):

fetch.on('message', function(msg) {
    var sContent = '';
    msg.on('data', function(chunk) {
                sContent += chunk.toString('utf8');
    });
    msg.on('end', function() {
    var mailparser = new MailParser();
    mailparser.on("end", function(oParsedMsg){
        oSelf.aFoundMsgs.push(oParsedMsg);
    });
        mailparser.write(sContent);
        mailparser.end();
    });
});

Not decoding mail with base64

Mailparser does'nt decode such mails. Mail object for html and text returns undefined

Given the following example:

DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail;
    h=Content-Type:Message-ID:Reply-To:Date:Mime-Version:Subject:To:From; bh=osp72fyJ4CouAeiNrNq4/YdllUdVN+lPzjmPBQ4h8i4=;
    b=McCcXLP6zVC3YbreZyuPZ08oX6ZYPlWoPzDA76CLv8gCHOx+xoF7u45UbsPLG0i0kXbraDkuN6TmaB/6LCfALMOhbh4uCaglrvGS9U+DiC/iShr6QgHOqQ49paUaDJkP;
Received: from mail by f220.mail.ru with local (envelope-from <example@mail.com>)
    id 1UJl1f-00079d-0m
    for [email protected]; Sun, 24 Mar 2013 17:31:55 +0400
Received: from [91.121.232.44] by e.mail.ru with HTTP;
    Sun, 24 Mar 2013 17:31:54 +0400
From: =?UTF-8?B?QWxleCBWb2xrb3c=?= <example@mail.com>
To: [email protected]
Subject: =?UTF-8?B?RndkOiDQmtC+0LzQvNC10L3RgtCw0YDQuNC5INC6INCS0LDRiNC10LzRgyA=?=
 =?UTF-8?B?0L7RgtC30YvQstGDINC90LAg0L/RgNC+0LXQutGC0LUg0J3QvtCy0L7RgdGC?=
 =?UTF-8?B?0LhATWFpbC5SdQ==?=
Mime-Version: 1.0
X-Mailer: Mail.Ru Mailer 1.0
Date: Sun, 24 Mar 2013 17:31:54 +0400
Reply-To: =?UTF-8?B?QWxleCBWb2xrb3c=?= <example@mail.com>
X-Priority: 3 (Normal)
Message-ID: <1364131914[email protected]>
Content-Type: multipart/alternative;
    boundary="--ALT--O4xGWCRD1364131914"
X-Spam: Not detected
X-Mras: Ok


----ALT--O4xGWCRD1364131914
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

CgoKLS0tLS0tLS0g0J/QtdGA0LXRgdGL0LvQsNC10LzQvtC1INGB0L7QvtCx0YnQtdC90LjQtSAt
LS0tLS0tLQrQntGCINC60L7Qs9C+OiAi0J3QvtCy0L7RgdGC0LhATWFpbC5SdSIgPG5ld3Njb21t
ZW50c0Bjb3JwLm1haWwucnU+CtCa0L7QvNGDOiBzdWxrbWVAbWFpbC5ydQrQlNCw0YLQsDog0KfQ
tdGC0LLQtdGA0LMsIDE3INGP0L3QstCw0YDRjyAyMDEzLCAxNjoyOSArMDQ6MDAK0KLQtdC80LA6
INCa0L7QvNC80LXQvdGC0LDRgNC40Lkg0Log0JLQsNGI0LXQvNGDINC+0YLQt9GL0LLRgyDQvdCw
INC/0YDQvtC10LrRgtC1INCd0L7QstC+0YHRgtC4QE1haWwuUnUKCsKgwqDCoArCoArCoCDQmtC+
0LzQvNC10L3RgtCw0YDQuNC5INC6INCS0LDRiNC10LzRgyDQvtGC0LfRi9Cy0YMg0L3QsCDRgdCw
0LnRgtC1CgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQrCoArCoArQrdGC0L4g0L/QuNGB0YzQ
vNC+INGB0YTQvtGA0LzQuNGA0L7QstCw0L3QviDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDR
gdC70YPQttCx0L7QuSDRg9Cy0LXQtNC+0LzQu9C10L3QuNC5ICDQndC+0LLQvtGB0YLQuEBNYWls
LlJ1ICwg0L7RgtCy0LXRh9Cw0YLRjCDQvdCwINC90LXQs9C+INC90LUg0L3Rg9C20L3Qvi4KCQkK
wqAKwqAK0JTQuNC80LAg0KjQuNGA0YjQutC+0LIg0L7RgdGC0LDQstC40Lso0LApINC60L7QvNC8
0LXQvdGC0LDRgNC40Lkg0Log0LLQsNGI0LXQvNGDINC+0YLQt9GL0LLRgwoJCQkJCgkJCQkJ0L4g
0LzQsNGC0LXRgNC40LDQu9C1OgoJCQkJCSDQo

support Content-transfer-encoding

Hello,

your library always send emails using "content-type: text.html" and without encoding subject and body... useless to send mail with accentuation.
Please implement content-transfert-encoding of 8bits and quoted-pritable.

Regards,

Dready

Warnings on install

sudo npm install mailparser on mac os x lion

lib/aliases.gperf:120:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:279:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:279:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:279:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:279:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:279:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:279:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:272:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:272:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:272:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:45:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1},
^
lib/aliases.gperf:221:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1},
^
lib/aliases.gperf:282:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:282:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:194:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1},
^
lib/aliases.gperf:273:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:273:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:273:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:183:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:183:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:183:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:183:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:183:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:183:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:183:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:183:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:189:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:189:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:214:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:214:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:335:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:335:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:335:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:335:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:335:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:29:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1},
^
lib/aliases.gperf:310:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:310:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:107:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1},
^
lib/aliases.gperf:66:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1},
^
lib/aliases.gperf:281:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:281:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:281:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:281:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:281:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:281:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:281:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:281:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:281:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:282:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:282:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:282:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:282:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:282:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:282:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:282:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:282:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:282:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:283:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:283:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:283:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:283:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:283:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:283:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:283:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:283:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:283:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:274:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:274:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:274:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:274:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:274:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:274:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:359:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:359:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:359:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:359:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:359:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:359:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:359:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:359:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:218:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:218:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:255:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:255:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:255:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:255:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:255:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:255:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:255:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:255:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:255:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:256:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:256:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:256:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:306:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1},
^
lib/aliases.gperf:192:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:192:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:192:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:192:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:192:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:192:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:192:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:192:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:192:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:193:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:193:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:193:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:193:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:193:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:193:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:193:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:193:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:193:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:194:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:194:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:194:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:194:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:194:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:194:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:194:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:194:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:194:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:49:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:49:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:49:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:49:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:49:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:49:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:49:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:49:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:49:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:50:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:50:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:50:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:50:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:50:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:50:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:262:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:262:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:262:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:262:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:262:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:262:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:119:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:119:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:119:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:119:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:119:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:119:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:119:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:119:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:119:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:120:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:51:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:51:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1},
^
lib/aliases.gperf:354:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:354:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:354:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:354:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:354:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:354:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:354:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:354:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:354:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:355:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:355:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:355:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:355:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:355:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:355:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:355:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:355:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:222:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:222:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:222:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1},
^
lib/aliases.gperf:106:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:106:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:106:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:106:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:106:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:106:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:106:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:106:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:106:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:107:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:107:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:107:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:107:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:107:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:107:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:107:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:107:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:107:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:108:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:108:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:108:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:108:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:108:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:108:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:108:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:108:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:108:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:109:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:109:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:109:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:109:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:109:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:109:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:109:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:109:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:109:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:110:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:110:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:110:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:110:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:110:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:110:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:110:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:110:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:110:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:111:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:111:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:111:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:111:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:111:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:111:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:195:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:196:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:196:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:196:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:196:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:196:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:196:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:196:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:196:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:196:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:197:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:197:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:197:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:197:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:197:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:197:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:197:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:197:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:197:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:198:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:198:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:198:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:198:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:198:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:198:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:198:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:198:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:198:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:199:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:199:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:199:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:199:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:199:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:199:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:199:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:199:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:199:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:344:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:344:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:344:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:344:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:344:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:344:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:344:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:348:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1},
^
lib/aliases.gperf:271:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1},
^
lib/aliases.gperf:343:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:343:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:343:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:343:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:343:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:343:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:343:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:223:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:223:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:223:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:223:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:223:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:223:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:223:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:223:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:223:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:224:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:224:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:224:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:224:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:224:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:224:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:224:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:224:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:224:56: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:225:8: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:225:14: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:225:20: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:225:26: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:225:32: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:225:38: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:225:44: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
lib/aliases.gperf:225:50: warning: missing field 'encoding_index' initializer [-Wmissing-field-initializers]
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
^
In file included from ../deps/libiconv/lib/iconv.c:238:
../deps/libiconv/lib/iconv_open2.h:84:32: warning: unused variable 'wcd' [-Wunused-variable]
struct wchar_conv_struct * wcd = (struct wchar_conv_struct *) cd;
^
In file included from ../deps/libiconv/lib/iconv.c:294:
../deps/libiconv/lib/iconv_open2.h:84:32: warning: unused variable 'wcd' [-Wunused-variable]
struct wchar_conv_struct * wcd = (struct wchar_conv_struct *) cd;
^
In file included from ../deps/libiconv/lib/iconv.c:136:
In file included from ../deps/libiconv/lib/loops.h:24:
../deps/libiconv/lib/loop_wchar.h:470:15: warning: unused function 'wchar_id_loop_reset' [-Wunused-function]
static size_t wchar_id_loop_reset (iconv_t icd,
^
620 warnings generated.
CXX(target) Release/obj.target/iconv/src/binding.o
../src/binding.cc:124:12: warning: unused variable 'nconv' [-Wunused-variable]
size_t nconv = iconv(iv->conv_,
^
1 warning generated.
SOLINK_MODULE(target) Release/iconv.node
SOLINK_MODULE(target) Release/iconv.node: Finished

Not Working with mails from Whatsapp

Hey,
since I try to write an online backup for my messages on whatsapp using node and sending complete threads as a txt file to an email adress. Then i fetch this using node-imap. Thats working like a charme. The problem is your mailparser shows me the included textfile also only as a base64 encoded string. And I don't know how to get it out of this.
Can You please help me? or it is a bug and should show a attachement section?

Spruce

Attachments send with Apple Mail don't parse correctly

While iOS uses "Content-transfer-encoding: base64", Apple Mail uses "Content-Transfer-Encoding: quoted-printable" ... at least in my tests.

While parsing attachments sent with iOS Mail works like a charm, the attachment streams - when parsing an eMail send with Apple Mail - look defect.

format=flowed should not delete all trailing whitespace when DelSp=yes

The current format=flowed logic detects when there is one or more spaces at the end of the line (regex is: /[ ]{1,}$/) and deletes potentially more than that (regex is: /\s+$/) if meta.textDelSp === 'yes'. Only the trailing space should be deleted. (Space-stuffing should probably be handled if DelSp is supported, although I expect that to be even more rare.) Also, the matcher regexp might do more work than it needs to do; it should stop once it determines the last character is a space.

Data doesn't get parsed as regexp doesn't match on some data streams

Tried to implement my written mailparser using postfix. Took me some time to realize why nothing actually got parsed...

You have a regexp match that doesn't macht because Postfix "streams" don't have \r ...

Changing...

if(match=this.headerStr.match(/^([\s\S]*?\r\n)[ \t]*\r\n/)){

to...

if(match=this.headerStr.match(/^([\s\S]*?\n)[ \t]*\n/)){

... did the trick ;-)

Windows possible ?

Works a treat under linux, but it fails to install on windows, giving a node-waf configure problem (I think with iconv).

Is there any way of getting this to work under windows ?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.