Когда я запускаю следующую функцию, я получаю SIGSEGV. Я не могу понять, почему ...
Кто-нибудь может помочь? Направьте меня в правильном направлении? Я являюсь частью более крупной программы, которая сканирует иерархию каталогов на наличие дубликатов файлов.
#include <stdio.h>
#include <stdlib.h>
#include <glib.h>
int main ( int argc , char *argv[]) {
GError *error = NULL;
const gchar* filename = NULL;
gchar *directory_path = "/tmp";
GDir* dp = g_dir_open (directory_path, 0, &error);
if (error) {
g_warning("g_dir_open() failed: %s\n", error->message);
g_clear_error(&error);
return 1;
}
while ( (filename = g_dir_read_name(dp)) ){
filename = g_dir_read_name(dp);
gchar* path = g_build_filename (directory_path, filename, NULL);
printf("%s\n", filename);
g_free (path);
}
return 0;
}