view archive/svn.snap.diff @ 386:f1f9920cc7b1

Add AM_GNU_GETTEXT macros AM_ICONV relies on config.rpath and autopoint/gettextize will only copy these in when the AM_GNU_GETTEXT macros are present. This is needed for the next commit that deletes config.rpath since it is cruft that should be copied in by autotools not embedded. Run autopoint to copy in config.rpath and leave it to automake to copy into the tarball.
author Paul Wise <pabs3@bonedaddy.net>
date Sat, 21 Dec 2019 21:25:44 +0800
parents de3753c3160a
children
line wrap: on
line source

diff libpst-0.5.2/ChangeLog libpst-alioth-2008-01-19/libpst/trunk/ChangeLog
0a1,19
> LibPST svn snapshot
> ===============================
> 
>     * Add new fields to appointment for recurring events
> 	  (SourceForge #304198)
> 	* Map IPM.Task items to PST_TYPE_TASK.
> 	* Applied patch to remove compiler warnings, thanks!
> 	  (SourceForge #304314)
> 	* Fix crash with unknown reference type
> 	* Fix more memory issues detected by valgrind
> 	* lspst: 
> 	  * Add usage mesage and option parsing using getopt
> 	    (SourceForge #304199)
>       * Fix crash caused by invalid free calls
> 	  * Fix crash when email subject is empty
> 	* Fix memory and information leak in hex debug dump
> 
> --
> 
14c33
< 	* Add more appointment fields, thanks to Chris Hall for tracking
---
> 	* Add more appointment fields, thanks to Chris Halls for tracking
diff libpst-0.5.2/debug.c libpst-alioth-2008-01-19/libpst/trunk/debug.c
118c118
<     fprintf(stderr, "debug_fp is NULL\n");
---
>     /* fprintf(stderr, "debug_fp is NULL\n"); */
411a412,413
>   index[1] = 0; // Unused
>   index[2] = 0; // Unused
423a426
>   lfile_rec.end = 0; // Unused
439a443
>   free(index);
diff libpst-0.5.2/libpst.c libpst-alioth-2008-01-19/libpst/trunk/libpst.c
290c290
<   int32_t size;
---
>   int32_t size = 0;
380c380
<   pst_index2_ll *list2;
---
>   pst_index2_ll *list2=NULL;
383c383
<   int32_t bptr = 0, bsize, hsize, tint, err=0, x;
---
>   int32_t bptr = 0, bsize=0, hsize=0, tint, err=0, x;
1381a1382
>     memset(na_ptr->items, 0, sizeof(struct _pst_num_item)*num_list);
1543d1543
< 	      na_ptr->items[x]->data = NULL;
1544a1545,1546
>               free(na_ptr->items[x]->data);
> 	      na_ptr->items[x]->data = NULL;
1565a1568
> 	if (buf) free (buf);
1703a1707,1708
> 	else if (pst_strincmp("IPM.Task", item->ascii_type, 8) == 0)
> 	  item->type = PST_TYPE_TASK;
2131,2132c2136,2138
< 	memcpy(&(attach->size), list->items[x]->data, 
< 	       sizeof(attach->size));
---
> 	t = (*(int32_t*)list->items[x]->data);
> 	LE32_CPU(t);
> 	attach->size = t;
3132a3139,3150
>       case 0x820d: // Appointment start
> 	DEBUG_EMAIL(("Appointment Date Start - "));
> 	MALLOC_APPOINTMENT(item);
> 	LIST_COPY(item->appointment->start, (FILETIME*));
> 	DEBUG_EMAIL(("%s\n", fileTimeToAscii(item->appointment->start)));
> 	break;
>       case 0x820e: // Appointment end
> 	DEBUG_EMAIL(("Appointment Date End - "));
> 	MALLOC_APPOINTMENT(item);
> 	LIST_COPY(item->appointment->end, (FILETIME*));
> 	DEBUG_EMAIL(("%s\n", fileTimeToAscii(item->appointment->end)));
> 	break;
3173a3192,3219
>       case 0x8231: // Recurrence type
> 	// 1: Daily
> 	// 2: Weekly
> 	// 3: Monthly
> 	// 4: Yearly
> 	DEBUG_EMAIL(("Appointment reccurs - "));
> 	MALLOC_APPOINTMENT(item);
> 	memcpy(&(item->appointment->recurrence_type), list->items[x]->data, sizeof(item->appointment->recurrence_type));
> 	LE32_CPU(item->appointment->recurrence_type);
> 	switch (item->appointment->recurrence_type) {
> 		case PST_APP_RECUR_DAILY:
> 			DEBUG_EMAIL(("Daily\n")); break;
> 		case PST_APP_RECUR_WEEKLY:
> 			DEBUG_EMAIL(("Weekly\n")); break;
> 		case PST_APP_RECUR_MONTHLY:
> 			DEBUG_EMAIL(("Monthly\n")); break;
> 		case PST_APP_RECUR_YEARLY:
> 			DEBUG_EMAIL(("Yearly\n")); break;
> 		default:
> 			DEBUG_EMAIL(("Unknown Value: %d\n", item->appointment->recurrence_type)); break;
> 	}
> 	break;
>       case 0x8232: // Recurrence description
> 	DEBUG_EMAIL(("Appointment recurrence description - "));
> 	MALLOC_APPOINTMENT(item);
> 	LIST_COPY(item->appointment->recurrence, (char*));
> 	DEBUG_EMAIL(("%s\n", item->appointment->recurrence));
> 	break;
3180,3181c3226,3227
<       case 0x8235: // Appointment start time
< 	DEBUG_EMAIL(("Appointment Start Time - "));
---
>       case 0x8235: // Recurrence start date
> 	DEBUG_EMAIL(("Recurrence Start Date - "));
3183,3184c3229,3230
< 	LIST_COPY(item->appointment->start, (FILETIME*));
< 	DEBUG_EMAIL(("%s\n", fileTimeToAscii((FILETIME*)item->appointment->start)));
---
> 	LIST_COPY(item->appointment->recurrence_start, (FILETIME*));
> 	DEBUG_EMAIL(("%s\n", fileTimeToAscii(item->appointment->recurrence_start)));
3186,3187c3232,3233
<       case 0x8236: // Appointment end time
< 	DEBUG_EMAIL(("Appointment End Time - "));
---
>       case 0x8236: // Recurrence end date
> 	DEBUG_EMAIL(("Recurrence End Date - "));
3189,3190c3235,3254
< 	LIST_COPY(item->appointment->end, (FILETIME*));
< 	DEBUG_EMAIL(("%s\n", fileTimeToAscii((FILETIME*)item->appointment->start)));
---
> 	LIST_COPY(item->appointment->recurrence_end, (FILETIME*));
> 	DEBUG_EMAIL(("%s\n", fileTimeToAscii(item->appointment->recurrence_end)));
> 	break;
>       case 0x8501: // Reminder minutes before appointment start
> 	DEBUG_EMAIL(("Alarm minutes - "));
> 	MALLOC_APPOINTMENT(item);
> 	memcpy(&(item->appointment->alarm_minutes), list->items[x]->data, sizeof(item->appointment->alarm_minutes));
> 	LE32_CPU(item->appointment->alarm_minutes);
> 	DEBUG_EMAIL(("%i\n", item->appointment->alarm_minutes));
> 	break;
>       case 0x8503: // Reminder alarm
> 	DEBUG_EMAIL(("Reminder alarm - "));
> 	MALLOC_APPOINTMENT(item);
> 	if (*(int16_t*)list->items[x]->data != 0) {
> 	  DEBUG_EMAIL(("True\n"));
> 	  item->appointment->alarm = 1;
> 	} else {
> 	  DEBUG_EMAIL(("False\n"));
> 	  item->appointment->alarm = 0;
> 	}
3192,3193c3256,3257
<       case 0x8516: // Journal time start
< 	DEBUG_EMAIL(("Duplicate Time Start - "));
---
>       case 0x8516:
> 	DEBUG_EMAIL(("Appointment Start Date 3 - "));
3196,3197c3260,3261
<       case 0x8517: // Journal time end
< 	DEBUG_EMAIL(("Duplicate Time End - "));
---
>       case 0x8517:
> 	DEBUG_EMAIL(("Appointment End Date 3 - "));
3199a3264,3269
>       case 0x851f: // Play reminder sound filename
> 	DEBUG_EMAIL(("Appointment reminder sound filename - "));
> 	MALLOC_APPOINTMENT(item);
> 	LIST_COPY(item->appointment->alarm_filename, (char*));
> 	DEBUG_EMAIL(("%s\n", item->appointment->alarm_filename));
> 	break;
3319,3321d3388
<       if (list->items[x]->data != NULL) {
< 	free (list->items[x]->data);
<       }
3322a3390,3392
>         if (list->items[x]->data != NULL) {
>           free (list->items[x]->data);
>         }
3421c3491
<     WARN(("block read error occured. offset = %#x, size = %#x\n", list->offset, list->size));
---
>     WARN(("block read error occured. offset = %#x, size = %#zx\n", list->offset, list->size));
3681a3752
>       SAFE_FREE(item->appointment->alarm_filename);
3684a3756,3758
>       SAFE_FREE(item->appointment->recurrence);
>       SAFE_FREE(item->appointment->recurrence_start);
>       SAFE_FREE(item->appointment->recurrence_end);
4008a4083,4089
> /**
>  * Get an ID block from file using _pst_ff_getIDblock and decrypt if necessary
>  * @param pf PST file structure
>  * @param id ID of block to retrieve
>  * @param b  Reference to pointer that will be set to new block. Any memory pointed to by buffer will be free()d beforehand
>  * @return   Size of block pointed to by *b
>  */
4019,4020c4100,4106
< /** the get ID function for the default file format that I am working with
<     ie the one in the PST files */
---
> /**
>  * Read a block of data from file into memory
>  * @param pf PST file
>  * @param id identifier of block to read
>  * @param b  reference to pointer to buffer. If this pointer is non-NULL, it will first be free()d
>  * @return   size of block read into memory
>  */
diff libpst-0.5.2/libpst.h libpst-alioth-2008-01-19/libpst/trunk/libpst.h
116a117,123
> // define type of reccuring event
> #define PST_APP_RECUR_NONE        0
> #define PST_APP_RECUR_DAILY       1
> #define PST_APP_RECUR_WEEKLY      2
> #define PST_APP_RECUR_MONTHLY     3
> #define PST_APP_RECUR_YEARLY      4
> 
372a380
>   int32_t alarm;
373a382,383
>   int32_t alarm_minutes;
>   char *alarm_filename;
378a389,392
>   char *recurrence;
>   int32_t recurrence_type;
>   FILETIME *recurrence_start;
>   FILETIME *recurrence_end;
diff libpst-0.5.2/lspst.c libpst-alioth-2008-01-19/libpst/trunk/lspst.c
15a16
> #include <unistd.h>
38a40,41
> int usage(char *prog_name);
> int version();
50a54,55
> 	int c;
> 	char *d_log = NULL;
53,54c58,91
< 	if (argc <= 1)
< 		DIE(("Missing PST filename.\n"));
---
> 	while ((c = getopt(argc, argv, "d:hV"))!= -1) {
> 		switch (c) {
> 			case 'd':
> 				d_log = optarg;
> 				break;
> 			case 'h':
> 				usage(argv[0]);
> 				exit(0);
> 				break;
> 			case 'V':
> 				version();
> 				exit(0);
> 				break;
> 			default:
> 				usage(argv[0]);
> 				exit(1);
> 				break;
> 		}
> 	}
> 	
> #ifdef DEBUG_ALL
>   // initialize log file
> 	if (d_log != NULL) {
> 		DEBUG_INIT(d_log);
> 		DEBUG_REGISTER_CLOSE();
> 	}
> #endif // defined DEBUG_ALL
> 
> 	DEBUG_ENT("main");
> 
> 	if (argc <= optind) {
> 		usage(argv[0]);
> 		exit(2);
> 	}
57c94
< 	if ( pst_open(&pstfile, argv[1], "r") )
---
> 	if ( pst_open(&pstfile, argv[optind], "r") )
162d198
< 					free(f->name);
194c230
< 				if (item->email->subject->subj != NULL)
---
> 				if (item->email->subject != NULL && item->email->subject->subj != NULL)
251d286
< 			free(f->name);
427a463,494
> // int usage() {{{1
> int usage(char *prog_name) {
> 	DEBUG_ENT("usage");
> 	version();
> 	printf("Usage: %s [OPTIONS] {PST FILENAME}\n", prog_name);
> 	printf("OPTIONS:\n");
> 	printf("\t-d\t- Debug to file. This is a binary log. Use readlog to print it\n");
> 	printf("\t-h\t- Help. This screen\n");
> 	printf("\t-V\t- Version. Display program version\n");
> 	DEBUG_RET();
> 	return 0;
> }
> // }}}1
> // int version() {{{1
> int version() {
> 	DEBUG_ENT("version");
> 	printf("lspst / LibPST v%s\n", VERSION);
> #if BYTE_ORDER == BIG_ENDIAN
> 	printf("Big Endian implementation being used.\n");
> #elif BYTE_ORDER == LITTLE_ENDIAN
> 	printf("Little Endian implementation being used.\n");
> #else
> #  error "Byte order not supported by this library"
> #endif
> #ifdef __GNUC__
> 			 printf("GCC %d.%d : %s %s\n", __GNUC__, __GNUC_MINOR__, __DATE__, __TIME__);
> #endif
> 	 DEBUG_RET();
> 	 return 0;
> }
> // }}}1
> 
diff libpst-0.5.2/Makefile libpst-alioth-2008-01-19/libpst/trunk/Makefile
49c49
< dumpblocks: dumpblocks.o libpst.o debug.o libstrfunc.o
---
> dumpblocks: dumpblocks.o libpst.o debug.o libstrfunc.o timeconv.o
diff libpst-0.5.2/readpst.c libpst-alioth-2008-01-19/libpst/trunk/readpst.c
1203c1203
< int usage() {
---
> int32_t usage() {
1224c1224
< int version() {
---
> int32_t version() {
1281c1281
< int close_kmail_dir() {
---
> int32_t close_kmail_dir() {
1324c1324
< int close_recurse_dir() {
---
> int32_t close_recurse_dir() {
1404c1404
< int close_seperate_dir() {
---
> int32_t close_seperate_dir() {
1416c1416
< int mk_seperate_file(struct file_ll *f) {
---
> int32_t mk_seperate_file(struct file_ll *f) {
1535c1535
< int chr_count(char *str, char x) {
---
> int32_t chr_count(char *str, char x) {
Only in libpst-alioth-2008-01-19/libpst/trunk: .svn
diff libpst-0.5.2/VERSION libpst-alioth-2008-01-19/libpst/trunk/VERSION
1c1
< 0.5.2
---
> 0.5.2+SVN_SNAPSHOT