? pass-diff
Index: file-data.h
===================================================================
RCS file: /cvs/gnome/file-roller/src/file-data.h,v
retrieving revision 1.4
diff -r1.4 file-data.h
46a47,48
> 	gboolean	encrypted;        /* Wether this file is password 
> 					   * encrypted */
Index: fr-command-7z.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-7z.c,v
retrieving revision 1.13
diff -r1.13 fr-command-7z.c
170a171
> 	fdata->encrypted = FALSE;
Index: fr-command-ar.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-ar.c,v
retrieving revision 1.5
diff -r1.5 fr-command-ar.c
183a184
> 	fdata->encrypted = FALSE;
Index: fr-command-arj.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-arj.c,v
retrieving revision 1.13
diff -r1.13 fr-command-arj.c
144c144
< 		fields = split_line (line, 7);
---
> 		fields = split_line (line, 10);
146a147
> 		fdata->encrypted = (g_ascii_strcasecmp (fields[9], "11") == 0);
Index: fr-command-cfile.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-cfile.c,v
retrieving revision 1.19
diff -r1.19 fr-command-cfile.c
140a141
> 	fdata->encrypted = FALSE;
Index: fr-command-iso.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-iso.c,v
retrieving revision 1.11
diff -r1.11 fr-command-iso.c
122a123
> 		fdata->encrypted = FALSE;
Index: fr-command-lha.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-lha.c,v
retrieving revision 1.14
diff -r1.14 fr-command-lha.c
187a188
> 	fdata->encrypted = FALSE;
Index: fr-command-rar.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-rar.c,v
retrieving revision 1.24
diff -r1.24 fr-command-rar.c
97c97
< 	gboolean       encrypted;      /* unused */
---
> 	gboolean       encrypted;
137a138
> 		fdata->encrypted = encrypted;
Index: fr-command-rpm.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-rpm.c,v
retrieving revision 1.10
diff -r1.10 fr-command-rpm.c
118a119
> 	fdata->encrypted = FALSE;
Index: fr-command-tar.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-tar.c,v
retrieving revision 1.39
diff -r1.39 fr-command-tar.c
177a178
> 	fdata->encrypted = FALSE;
Index: fr-command-unstuff.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-unstuff.c,v
retrieving revision 1.12
diff -r1.12 fr-command-unstuff.c
173a174
> 	fdata->encrypted = FALSE;
Index: fr-command-zip.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-zip.c,v
retrieving revision 1.30
diff -r1.30 fr-command-zip.c
38,39c38
< #define EMPTY_ARCHIVE_WARNING        "zipfile is empty"
< #define EMPTY_ARCHIVE_WARNING_LENGTH 16
---
> #define EMPTY_ARCHIVE_WARNING        "Empty zipfile."
53,54c52
< mktime_from_string (char *date_s, 
< 		    char *time_s)
---
> mktime_from_string (char *datetime_s)
57c55,57
< 	char      **fields;
---
> 
> 	char *date = datetime_s;
> 	char *time = datetime_s + 9;
61,76c61,69
< 	fields = g_strsplit (date_s, "-", 3);
< 	if (fields[0] != NULL) {
< 		tm.tm_mon = atoi (fields[0]) - 1;
< 		if (fields[1] != NULL) {
< 			tm.tm_mday = atoi (fields[1]);
< 			if (fields[2] != NULL) { 
< 				/* warning : this will work until 2075 ;) */
< 				int y = atoi (fields[2]);
< 				if (y >= 75)
< 					tm.tm_year = atoi (fields[2]);
< 				else
< 					tm.tm_year = 100 + atoi (fields[2]);
< 			}
< 		}
< 	}
< 	g_strfreev (fields);
---
> 	gchar *year = g_strndup (date, 4);
> 	gchar *month = g_strndup (date+4, 2);
> 	gchar *day = g_strndup (date+6, 2);
> 	tm.tm_year = atoi (year) - 1900;
> 	tm.tm_mon = atoi (month) - 1;
> 	tm.tm_mday = atoi (day);
> 	g_free (year);
> 	g_free (month);
> 	g_free (day);
80,89c73,81
< 	fields = g_strsplit (time_s, ":", 3);
< 	if (fields[0] != NULL) {
< 		tm.tm_hour = atoi (fields[0]);
< 		if (fields[1] != NULL) {
< 			tm.tm_min = atoi (fields[1]);
< 			if (fields[2] != NULL)
< 				tm.tm_sec = atoi (fields[2]);
< 		}
< 	}
< 	g_strfreev (fields);
---
> 	gchar *hour = g_strndup (time, 2);
> 	gchar *min = g_strndup (time+2, 2);
> 	gchar *sec = g_strndup (time+4, 2);
> 	tm.tm_hour = atoi (hour) - 1;
> 	tm.tm_min = atoi (min);
> 	tm.tm_sec = atoi (sec);
> 	g_free(hour);
> 	g_free(min);
> 	g_free(sec);
164,169c156,165
< 	if (line_l > EMPTY_ARCHIVE_WARNING_LENGTH) 
< 		if (strcmp (line + line_l - EMPTY_ARCHIVE_WARNING_LENGTH, 
< 			    EMPTY_ARCHIVE_WARNING) == 0) {
< 			FR_COMMAND_ZIP (comm)->is_empty = TRUE;
< 			return;
< 		}
---
> 	if (strcmp (line,
> 		    EMPTY_ARCHIVE_WARNING) == 0) {
> 		FR_COMMAND_ZIP (comm)->is_empty = TRUE;
> 		return;
> 	}
> 
> 	/* check whether this is the first or last line zipinfo
> 	   * gave. */
> 	if ((line[0] == 'A') || (line[2] == 'f'))
> 		return;
176,177c172,174
< 	fdata->size = g_ascii_strtoull (fields[0], NULL, 10);
< 	fdata->modified = mktime_from_string (fields[4], fields[5]);
---
> 	fdata->size = g_ascii_strtoull (fields[3], NULL, 10);
> 	fdata->modified = mktime_from_string (fields[6]);
> 	fdata->encrypted = (*fields[4] == 'B') || (*fields[4] == 'T');
248,250c245,247
< 	fr_process_add_arg (comm->process, "-qq");
< 	fr_process_add_arg (comm->process, "-v");
< 	fr_process_add_arg (comm->process, "-l");
---
> 	fr_process_add_arg (comm->process, "-Z");
> 	fr_process_add_arg (comm->process, "-T");
> 	fr_process_add_arg (comm->process, "-s");
Index: fr-command-zoo.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/fr-command-zoo.c,v
retrieving revision 1.11
diff -r1.11 fr-command-zoo.c
214a215
> 	fdata->encrypted = FALSE;
Index: window.c
===================================================================
RCS file: /cvs/gnome/file-roller/src/window.c,v
retrieving revision 1.162
diff -r1.162 window.c
490a491,508
> 	/* If the file is encrypted, we show a proper emblem */
> 	   
> 	if (fdata->encrypted) {
> 		const GnomeIconData *icon_data;
> 		int base_size;
> 		char *emblem_path;
> 		GdkPixbuf *emblem;
> 
> 		emblem_path = gnome_icon_theme_lookup_icon (icon_theme, 
> 							  "emblem-nowrite",
> 							  icon_size,
> 							  &icon_data,
> 							  &base_size);
> 		if (emblem_path != NULL)
> 			pixbuf = load_icon_file (emblem_path, icon_size);
> 		return pixbuf;
> 	}
> 
565a584
> 	
