Read and respond to this message at: 
https://sourceforge.net/forum/message.php?msg_id=5026519
By: jholl

I'm getting a segfault using libarchive when trying running an example from
archive_write_new manpage.I step through the app and get the following stack
when after the call to archive_write_header. I thought maybe the it was having
issues with the file not existing but i opened the file before the
archive_write_heaer call and it was there where not issues with that.

Stack

Thread [1] (Suspended: Signal 'SIGSEGV' received. Description: Segmentation
fault.)
        3 wcsxfrm()  0x77c483b7 
        2 stricmp()  0x77c4627d 
        1 libarchive2!archive_write_open()  0x62594d4b  
Code

int main () {
        
        struct myArchData *mydata = malloc(sizeof(struct myArchData));
        struct archive *a;
        struct archive_entry *entry;
        struct stat st;
        
        char buff[8192];
        int len;
        int fd;
        
        a = archive_write_new();
        mydata->name = "C:\\test.tar";
          archive_write_set_compression_gzip(a);
          archive_write_set_format_ustar(a);
          archive_write_open(a, mydata, myopen, mywrite, myclose);
          
          char **filename = (char**)malloc(1* sizeof(*filename));
          filename[0] = "C:\\powerdvd.log";
          int fileHanlde = open(*filename, O_RDONLY);
          close(fileHanlde);
          while (*filename) {
            stat(*filename, &st);
            entry = archive_entry_new();
            archive_entry_copy_stat(entry, &st);
            archive_entry_set_pathname(entry, *filename);
            archive_write_header(a, entry);
            fd = open(*filename, O_RDONLY);
            len = read(fd, buff, sizeof(buff));
            while ( len > 0 ) {
                archive_write_data(a, buff, len);
                len = read(fd, buff, sizeof(buff));
            }
            archive_entry_free(entry);
            filename = filename + 1;
          }
          archive_write_finish(a);

        return 0;
        
        
        
}

compile and link commands
g++ -O0 -g3 -Wall -c -fmessage-length=0 -otransfer\fileDownload.o
..\transfer\fileDownload.cpp
g++ -LC:\Program Files\GnuWin32\lib -LC:\lang_env\c\lib -oAutoloader.exe
transfer\fileDownload.o main.o -llibarchive

if anyone has suggestions let me know


______________________________________________________________________
You are receiving this email because you elected to monitor this forum.
To stop monitoring this forum, login to SourceForge.net and visit: 
https://sourceforge.net/forum/unmonitor.php?forum_id=74807

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
GnuWin32-Users mailing list
GnuWin32-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gnuwin32-users

Reply via email to