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