[geany/geany-plugins] ddf06e: Fix crashes in Git Changebar, Lua, Macro and Numbered Bookmarks plugins
Belousov Vladimir
git-noreply at xxxxx
Sat Sep 11 12:55:29 UTC 2021
Branch: refs/heads/master
Author: Belousov Vladimir <vlad.belos at gmail.com>
Committer: GitHub <noreply at github.com>
Date: Sat, 11 Sep 2021 12:55:29 UTC
Commit: ddf06e8a1ce945a9d3dbdf482dc9aeb8478f080c
https://github.com/geany/geany-plugins/commit/ddf06e8a1ce945a9d3dbdf482dc9aeb8478f080c
Log Message:
-----------
Fix crashes in Git Changebar, Lua, Macro and Numbered Bookmarks plugins
On Windows 64 platform these plugins crashed due to a different size
of glong and sptr_t.
Modified Paths:
--------------
geanylua/glspi_sci.c
geanymacro/src/geanymacro.c
geanynumberedbookmarks/src/geanynumberedbookmarks.c
git-changebar/src/gcb-plugin.c
Modified: geanylua/glspi_sci.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -452,7 +452,7 @@ static gint glspi_copy(lua_State* L)
if (!lua_isstring(L,1)) {return FAIL_STRING_ARG(1);}
content=lua_tostring(L,1);
len=strlen(content);
- if (len) { scintilla_send_message(doc->editor->sci,SCI_COPYTEXT,len,(glong)content); }
+ if (len) { scintilla_send_message(doc->editor->sci,SCI_COPYTEXT,len,(sptr_t)content); }
push_number(L, len);
return 1;
default:
Modified: geanymacro/src/geanymacro.c
16 lines changed, 8 insertions(+), 8 deletions(-)
===================================================================
@@ -30,7 +30,7 @@ typedef struct
{
gint message;
gulong wparam;
- glong lparam;
+ sptr_t lparam;
} MacroEvent;
/* structure to hold details of a macro */
@@ -370,7 +370,7 @@ static void ReplayMacro(Macro *m)
break;
}
- scintilla_send_message(sci,me->message,me->wparam,(glong)clipboardcontents);
+ scintilla_send_message(sci,me->message,me->wparam,(sptr_t)clipboardcontents);
}
else
scintilla_send_message(sci,me->message,me->wparam,me->lparam);
@@ -431,20 +431,20 @@ static MacroEvent * GetMacroEventFromString(gchar **s,gint *k)
case SCI_SEARCHNEXT:
case SCI_SEARCHPREV:
/* get text */
- me->lparam=(glong)(g_strcompress(s[(*k)++]));
+ me->lparam=(sptr_t)(g_strcompress(s[(*k)++]));
/* if text is empty string replace with NULL to signify use clipboard */
if((*((gchar*)(me->lparam)))==0)
{
g_free((gchar*)me->lparam);
- me->lparam=(glong)NULL;
+ me->lparam=(sptr_t)NULL;
}
/* get search flags */
me->wparam=strtoll(s[(*k)++],NULL,10);
break;
case SCI_REPLACESEL:
/* get text */
- me->lparam=(glong)(g_strcompress(s[(*k)++]));
+ me->lparam=(sptr_t)(g_strcompress(s[(*k)++]));
break;
/* default handler for messages without extra data */
default:
@@ -556,7 +556,7 @@ static gboolean Notification_Handler(GObject *obj,GeanyEditor *ed,SCNotification
me->lparam=(me->message==SCI_SEARCHNEXT ||
me->message==SCI_SEARCHPREV ||
me->message==SCI_REPLACESEL)
- ?((glong) g_strdup((gchar *)(nt->lParam))) : nt->lParam;
+ ?((sptr_t) g_strdup((gchar *)(nt->lParam))) : nt->lParam;
/* more efficient to create reverse list and reverse it at the end */
RecordingMacro->MacroEvents=g_slist_prepend(RecordingMacro->MacroEvents,me);
@@ -1971,15 +1971,15 @@ static void EditMacroElements(Macro *m)
/* Special handling for text inserting, duplicate inserted string */
if(me->message==SCI_REPLACESEL)
- me->lparam=(glong)((cTemp!=NULL)?g_strdup(cTemp):g_strdup(""));
+ me->lparam=(sptr_t)((cTemp!=NULL)?g_strdup(cTemp):g_strdup(""));
/* Special handling for search */
if(me->message==SCI_SEARCHNEXT || me->message==SCI_SEARCHPREV)
{
cTemp2=strchr(cTemp,',');
cTemp2++;
- me->lparam=(glong)(((*cTemp2)==0)?NULL:g_strdup(cTemp2));
+ me->lparam=(sptr_t)(((*cTemp2)==0)?NULL:g_strdup(cTemp2));
me->wparam=strtoll(cTemp,NULL,10);
}
Modified: geanynumberedbookmarks/src/geanynumberedbookmarks.c
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -842,7 +842,7 @@ static gint NextFreeMarker(GeanyDocument* doc)
break;
/* insert new marker */
- scintilla_send_message(sci,SCI_MARKERDEFINEPIXMAP,m,(glong)(aszMarkerImages[k]));
+ scintilla_send_message(sci,SCI_MARKERDEFINEPIXMAP,m,(sptr_t)(aszMarkerImages[k]));
scintilla_send_message(sci,SCI_MARKERADD,l,m);
/* update markers record */
@@ -880,7 +880,7 @@ static void SetMarker(GeanyDocument* doc,gint bookmarkNumber,gint markerNumber,g
/* insert new marker */
scintilla_send_message(sci,SCI_MARKERDEFINEPIXMAP,markerNumber,
- (glong)(aszMarkerImages[bookmarkNumber]));
+ (sptr_t)(aszMarkerImages[bookmarkNumber]));
scintilla_send_message(sci,SCI_MARKERADD,line,markerNumber);
/* update record of which bookmark uses which marker */
Modified: git-changebar/src/gcb-plugin.c
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -801,7 +801,7 @@ get_widget_for_buf_range (GeanyDocument *doc,
"UTF-8", doc->encoding, NULL);
}
- scintilla_send_message (sci, SCI_ADDTEXT, buf_len, (glong) buf);
+ scintilla_send_message (sci, SCI_ADDTEXT, buf_len, (sptr_t) buf);
if (free_buf) {
g_free (buf);
@@ -1144,7 +1144,7 @@ insert_buf_range (GeanyDocument *doc,
"UTF-8", doc->encoding, NULL);
}
- scintilla_send_message (old_sci, SCI_ADDTEXT, old_buf_len, (glong) old_buf);
+ scintilla_send_message (old_sci, SCI_ADDTEXT, old_buf_len, (sptr_t) old_buf);
old_pos_start = sci_get_position_from_line (old_sci, old_start);
old_pos_end = sci_get_position_from_line (old_sci, old_start + old_lines);
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Plugins-Commits
mailing list