Господа, давече пытался конвертнуть строку в long long, но вот что-то не полетело сие у меня, вот фрагмент кода: GSQL_DEBUG ("G_TYPE_INT64 displaying: gchar_value=%s",gchar_value); gint64_value = g_malloc (sizeof(gint64)); *gint64_value = 0; *gint64_value = (gint64) atoll (gchar_value); GSQL_DEBUG ("G_TYPE_INT64 displaying: gint64_value=%d",*gint64_value); /* FIXME: atoll doesn't work correct :( ** (lt-gsql:29159): DEBUG: G_TYPE_INT64 displaying: gchar_value=6848377337 ** (lt-gsql:29159): DEBUG: G_TYPE_INT64 displaying: gint64_value=-1741557255 */ g_free (gchar_value); return gint64_value; как видно в камменте FIXME, в выхлопе я пытаюсь из строки вида "6848377337" получить число, но где-то происходит косяк и в переменную gint64 попадает левое число, такое ощущение, что происходит переполнение числа и оно в минус уходит. может кто подскажет, где лучше покопать? а то уже мысли кончились.