2015-11-06 5 views
1

Просто, у меня возникла проблема, когда я получаю segfault при вызове функции libnotify. Erroring код:Segfault с функцией C notify_notification_update()

int lua_libnotify_new(lua_State *L) { 
    const char *summary = luaL_checkstring(L, 1); 
    const char *body = lua_isstring(L, 2) ? lua_tostring(L, 2) : NULL; 
    const char *icon = lua_isstring(L, 3) ? lua_tostring(L, 3) : NULL; 
    NotifyNotification *notification = (NotifyNotification *)lua_newuserdata(L, sizeof(NotifyNotification)); 
    /* Error is the below line */ 
    notify_notification_update(notification, summary, body, icon); 
    return 1; 
} 
+1

Вы можете сообщить об ошибке. Именно там, где он получает segfault. – Sigstop

+0

.CORE? у вас есть .core dump? Используйте gdb для отладки. – Ramy

+0

Вероятно, вы должны проверить, что все 4 указателя не являются NULL, если только в документации для 'notify_notification_update' не указано, что его аргументы имеют значение NULL. –

ответ

0

После некоторого мастерить, я понял, что он должен был быть SizeOf (NotifyNotification *). Решено.