[geany/geany-plugins] 798d26: changed how markers are tracked to avoid compiler warnings in 64 bits
William Fraser
git-noreply at xxxxx
Tue May 1 20:18:26 UTC 2012
Branch: refs/heads/master
Author: William Fraser <william.fraser at virgin.net>
Committer: William Fraser <william.fraser at virgin.net>
Date: Tue, 01 May 2012 20:18:26
Commit: 798d26871153060362ad89bdc13954eab16ae124
https://github.com/geany/geany-plugins/commit/798d26871153060362ad89bdc13954eab16ae124
Log Message:
-----------
changed how markers are tracked to avoid compiler warnings in 64 bits
Modified Paths:
--------------
geanynumberedbookmarks/src/geanynumberedbookmarks.c
Modified: geanynumberedbookmarks/src/geanynumberedbookmarks.c
68 files changed, 51 insertions(+), 17 deletions(-)
===================================================================
@@ -712,13 +712,47 @@ static void LoadLocalFileDetails(gchar *filename)
}
+/* Get markers for editor. If not set then initiate */
+static guint32 * GetMarkersUsed(ScintillaObject* sci)
+{
+ guint32 *markers;
+
+ /*fetch pointer to markers */
+ markers=(guint32*)(g_object_get_data(G_OBJECT(sci),"Geany_Numbered_Bookmarks_Used"));
+
+ /* if initialised then return these */
+ if(markers!=NULL)
+ return markers;
+
+ /* initialise markers as none initialised */
+ markers=g_malloc(sizeof(guint32));
+
+ /* if failed to allocate space return NULL */
+ if(markers==NULL)
+ return NULL;
+
+ /*initiate markers */
+ (*markers)=0;
+
+ /* save record of which markers are being used */
+ g_object_set_data(G_OBJECT(sci),"Geany_Numbered_Bookmarks_Used",(gpointer)markers);
+
+ return markers;
+}
+
+
/* get next free marker number */
-static gint NextFreeMarker(ScintillaObject* sci) {
+static gint NextFreeMarker(ScintillaObject* sci)
+{
gint i,l,m,k;
- guint32 markers;
+ guint32 *markers;
FileData *fd;
- markers=(guint32)(g_object_get_data(G_OBJECT(sci),"Geany_Numbered_Bookmarks_Used"));
+ markers=GetMarkersUsed(sci);
+
+ /* fail if can't allocate space for markers */
+ if(markers==NULL)
+ return -1;
/* markers 0 and 1 reserved for bookmarks & errors, 25 onwards for folds */
/* find first free marker after last defined marker. Will ensure that new marker */
@@ -742,7 +776,7 @@ static gint NextFreeMarker(ScintillaObject* sci) {
/* found marker */
/* if not a numbered bookmark then ignore it */
- if((markers&(1<<i))==0)
+ if(((*markers)&(1<<i))==0)
continue;
/* if have found an empty marker higher then return this */
@@ -774,7 +808,7 @@ static gint NextFreeMarker(ScintillaObject* sci) {
for(m=2,i=2;i<25;i++)
{
/* don't move marker unless it's a numbered bookmark marker */
- if((markers&(1<<i))==0)
+ if(((*markers)&(1<<i))==0)
continue;
/* find unused marker */
@@ -807,8 +841,8 @@ static gint NextFreeMarker(ScintillaObject* sci) {
scintilla_send_message(sci,SCI_MARKERADD,l,m);
/* update markers record */
- markers-=1<<i;
- markers|=1<<m;
+ (*markers)-=1<<i;
+ (*markers)|=1<<m;
/* update record of which bookmark uses which marker */
fd->iBookmarkMarkerUsed[k]=m;
@@ -835,7 +869,7 @@ static gint NextFreeMarker(ScintillaObject* sci) {
static void SetMarker(ScintillaObject* sci,gint bookmarkNumber,gint markerNumber,gint line)
{
- guint32 markers;
+ guint32 *markers;
FileData *fd;
/* insert new marker */
@@ -848,23 +882,23 @@ static void SetMarker(ScintillaObject* sci,gint bookmarkNumber,gint markerNumber
fd->iBookmarkMarkerUsed[bookmarkNumber]=markerNumber;
/* update record of which markers are being used */
- markers=(guint32)(g_object_get_data(G_OBJECT(sci),"Geany_Numbered_Bookmarks_Used"));
- markers|=1<<markerNumber;
+ markers=GetMarkersUsed(sci);
+ (*markers)|=1<<markerNumber;
g_object_set_data(G_OBJECT(sci),"Geany_Numbered_Bookmarks_Used",(gpointer)markers);
}
static void DeleteMarker(ScintillaObject* sci,gint bookmarkNumber,gint markerNumber)
{
- guint32 markers;
+ guint32 *markers;
/* remove marker */
scintilla_send_message(sci,SCI_MARKERDELETEALL,markerNumber,0);
scintilla_send_message(sci,SCI_MARKERDEFINE,markerNumber,SC_MARK_AVAILABLE);
/* update record of which markers are being used */
- markers=(guint32)(g_object_get_data(G_OBJECT(sci),"Geany_Numbered_Bookmarks_Used"));
- markers-=1<<markerNumber;
+ markers=GetMarkersUsed(sci);
+ (*markers)-=1<<markerNumber;
g_object_set_data(G_OBJECT(sci),"Geany_Numbered_Bookmarks_Used",(gpointer)markers);
}
@@ -1503,7 +1537,7 @@ void plugin_cleanup(void)
ScintillaObject* sci;
FileData *fdTemp=fdKnownFilesSettings;
FileData *fdTemp2;
- guint32 markers;
+ guint32 *markers;
/* uncouple keypress monitor */
g_signal_handler_disconnect(geany->main_widgets->window,key_release_signal_id);
@@ -1512,12 +1546,12 @@ void plugin_cleanup(void)
for(i=0;i<GEANY(documents_array)->len;i++)
if(documents[i]->is_valid) {
sci=documents[i]->editor->sci;
- markers=(guint32)(g_object_get_data(G_OBJECT(sci),
- "Geany_Numbered_Bookmarks_Used"));
+ markers=GetMarkersUsed(sci);
for(k=2;k<25;k++)
- if((markers&(1<<k))!=0)
+ if(((*markers)&(1<<k))!=0)
scintilla_send_message(sci,SCI_MARKERDELETEALL,k,0);
+ g_free(markers);
}
/* Clear memory used to hold file details */
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Plugins-Commits
mailing list