GMSGFMT_015 = /usr/bin/msgfmt
GREP = /bin/grep
GSETTINGS_DISABLE_SCHEMAS_COMPILE =
-GTK_CFLAGS = -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE
+GTK_CFLAGS = -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE
GTK_LIBS = -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0
HAVE_CPPCHECK = yes
HELP2MAN = help2man
STRIP =
USE_NLS = yes
VERSION = 0.0.x
-WEBKIT_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gtk-3.0 -I/usr/include/libsoup-2.4 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/libxml2 -I/usr/include/webkitgtk-3.0
+WEBKIT_CFLAGS = -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gtk-3.0 -I/usr/include/libsoup-2.4 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/libxml2 -I/usr/include/webkitgtk-3.0
WEBKIT_LIBS = -lwebkitgtk-3.0 -lgtk-3 -lsoup-2.4 -ljavascriptcoregtk-3.0 -lgdk-3 -latk-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgio-2.0 -lgobject-2.0 -lglib-2.0
X11_CFLAGS =
X11_LIBS = -lX11
"lgio-2.0 -lgobject-2.0 -lglib-2.0 "
S["WEBKIT_CFLAGS"]="-pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/gtk-3.0 -I/usr/include/libsoup-2.4 -I/usr/include/atk-1"\
".0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/in"\
-"clude/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/libxml2 -I/usr/include/webkitgtk-3.0 "
+"clude/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/libxml2 -I/usr/include/webkitgtk-3.0 "
S["GSETTINGS_RULES"]="\n"\
".PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas\n"\
"\n"\
S["CURL_CFLAGS"]=" "
S["GTK_LIBS"]="-lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 "
S["GTK_CFLAGS"]="-pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/i"\
-"nclude/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -I/usr/incl"\
-"ude/pixman-1 -I/usr/include/libpng12 -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE "
+"nclude/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/inclu"\
+"de/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE "
S["XEXT_LIBS"]="-lXext "
S["XEXT_CFLAGS"]=" "
S["X11_LIBS"]="-lX11 "
return json_object_object_get(rp, "content");
}
-struct json_object *ws_execute(struct json_object *rq)
+static struct json_object *execute(struct json_object *rq, char **err)
{
- struct json_object *rp, *content;
+ struct json_object *rp, *content, *jerror;
+ const char *str;
rp = http_json_get(session_url, rq);
+ content = NULL;
+
if (rp) {
content = ws_reply_get_content(rp);
- if (content && !json_object_object_get(rp, "error")) {
- json_object_get(content);
- json_object_put(rp);
- return content;
+ if (content) {
+ jerror = json_object_object_get(content, "error");
+ if (jerror) {
+ if (err) {
+ str = json_object_get_string(jerror);
+ *err = strdup(str);
+ }
+ content = NULL;
+ } else {
+ json_object_get(content);
+ }
}
json_object_put(rp);
}
- return NULL;
+ return content;
+}
+
+struct json_object *ws_execute(struct json_object *rq)
+{
+ char *err;
+ struct json_object *result;
+
+ log_debug("ws_execute()");
+
+ err = NULL;
+ result = execute(rq, &err);
+
+ if (err) {
+ log_debug("ws_execute(): error=%s\n", err);
+
+ if (!strcmp(err, "NOT_LOGGED_IN")) {
+ ws_open_session();
+ result = execute(rq, NULL);
+ }
+
+ free(err);
+ }
+
+ return result;
}
int ws_get_api_version()
str = strdup(json_object_get_string(j));
json_object_put(rp);
- }
+ }
return str;
}
{
int version, result;
+ log_debug("ws_open_session()");
+
if (session_id)
free(session_id);
void ws_set_article_unread(int id, int unread)
{
struct json_object *rp, *rq;
-
+
+
log_debug("ws_set_article_unread(%d,%d)", id, unread);
rq = ws_request_new("updateArticle");