annotate src/collect.h @ 1674:d5c921f9bb4c

Fix a overrun data_offset + data_length could be bigger than guint which makes the calculation overflow to a value smaller then size.
author mow
date Sat, 18 Jul 2009 08:16:54 +0000
parents 760f585d9fa0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1 /*
196
f6e307c7bad6 rename GQview -> Geeqie over the code
nadvornik
parents: 138
diff changeset
2 * Geeqie
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
3 * (C) 2004 John Ellis
1284
8b89e3ff286b Add year 2009 to copyright info everywhere.
zas_
parents: 1055
diff changeset
4 * Copyright (C) 2008 - 2009 The Geeqie Team
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
5 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
6 * Author: John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
7 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
8 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
9 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
10 * This software comes with no warranty of any kind, use at your own risk!
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
11 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
12
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
13
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
14 #ifndef COLLECT_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
15 #define COLLECT_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
16
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
17
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
18 CollectInfo *collection_info_new(FileData *fd, struct stat *st, GdkPixbuf *pixbuf);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
19
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
20 void collection_info_free_thumb(CollectInfo *ci);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
21 void collection_info_free(CollectInfo *ci);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
22
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
23 void collection_info_set_thumb(CollectInfo *ci, GdkPixbuf *pixbuf);
1420
3a9fb1b52559 Use gboolean where applicable, for the sake of consistency.
zas_
parents: 1284
diff changeset
24 gboolean collection_info_load_thumb(CollectInfo *ci);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
25
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
26 void collection_list_free(GList *list);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
27
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
28 GList *collection_list_sort(GList *list, SortType method);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
29 GList *collection_list_add(GList *list, CollectInfo *ci, SortType method);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
30 GList *collection_list_insert(GList *list, CollectInfo *ci, CollectInfo *insert_ci, SortType method);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
31 GList *collection_list_remove(GList *list, CollectInfo *ci);
799
278962ba162a use the new notification for collections
nadvornik
parents: 475
diff changeset
32 CollectInfo *collection_list_find_fd(GList *list, FileData *fd);
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
33 GList *collection_list_to_filelist(GList *list);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
34
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
35 CollectionData *collection_new(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
36 void collection_free(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
37
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
38 void collection_ref(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
39 void collection_unref(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
40
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
41 void collection_path_changed(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
42
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
43 gint collection_to_number(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
44 CollectionData *collection_from_number(gint n);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
45
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
46 /* pass a NULL pointer to whatever you don't need
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
47 * use free_selected_list to free list, and
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
48 * g_list_free to free info_list, which is a list of
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
49 * CollectInfo pointers into CollectionData
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
50 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
51 CollectionData *collection_from_dnd_data(const gchar *data, GList **list, GList **info_list);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
52 gchar *collection_info_list_to_dnd_data(CollectionData *cd, GList *list, gint *length);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
53
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
54 gint collection_info_valid(CollectionData *cd, CollectInfo *info);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
55
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
56 CollectInfo *collection_next_by_info(CollectionData *cd, CollectInfo *info);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
57 CollectInfo *collection_prev_by_info(CollectionData *cd, CollectInfo *info);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
58 CollectInfo *collection_get_first(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
59 CollectInfo *collection_get_last(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
60
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
61 void collection_set_sort_method(CollectionData *cd, SortType method);
1535
760f585d9fa0 Implement random sort method for collections
mow
parents: 1420
diff changeset
62 void collection_randomize(CollectionData *cd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
63 void collection_set_update_info_func(CollectionData *cd,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
64 void (*func)(CollectionData *, CollectInfo *, gpointer), gpointer data);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
65
1420
3a9fb1b52559 Use gboolean where applicable, for the sake of consistency.
zas_
parents: 1284
diff changeset
66 gboolean collection_add(CollectionData *cd, FileData *fd, gboolean sorted);
3a9fb1b52559 Use gboolean where applicable, for the sake of consistency.
zas_
parents: 1284
diff changeset
67 gboolean collection_add_check(CollectionData *cd, FileData *fd, gboolean sorted, gboolean must_exist);
3a9fb1b52559 Use gboolean where applicable, for the sake of consistency.
zas_
parents: 1284
diff changeset
68 gboolean collection_insert(CollectionData *cd, FileData *fd, CollectInfo *insert_ci, gboolean sorted);
3a9fb1b52559 Use gboolean where applicable, for the sake of consistency.
zas_
parents: 1284
diff changeset
69 gboolean collection_remove(CollectionData *cd, FileData *fd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
70 void collection_remove_by_info_list(CollectionData *cd, GList *list);
1420
3a9fb1b52559 Use gboolean where applicable, for the sake of consistency.
zas_
parents: 1284
diff changeset
71 gboolean collection_rename(CollectionData *cd, FileData *fd);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
72
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
73 void collection_update_geometry(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
74
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
75 CollectWindow *collection_window_new(const gchar *path);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
76 void collection_window_close_by_collection(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
77 CollectWindow *collection_window_find(CollectionData *cd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
78 CollectWindow *collection_window_find_by_path(const gchar *path);
1420
3a9fb1b52559 Use gboolean where applicable, for the sake of consistency.
zas_
parents: 1284
diff changeset
79 gboolean collection_window_modified_exists(void);
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
80
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
81
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
82 #endif
1055
1646720364cf Adding a vim modeline to all files - patch by Klaus Ethgen
nadvornik
parents: 799
diff changeset
83 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */