mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Use g_dir_{open,read_name,close}.
Replace opendir, readdir and closedir by their GLib wrappers so that files on Windows will be retrieved with the wide character api. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15403 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
@@ -235,16 +235,16 @@ static size_t
|
||||
init_from_dir(const char *dirname, unsigned int max_files)
|
||||
{
|
||||
char filename[1024];
|
||||
struct dirent *de;
|
||||
const gchar *de;
|
||||
struct stat stats;
|
||||
size_t total;
|
||||
int result;
|
||||
DIR *dir;
|
||||
GDir *dir;
|
||||
|
||||
if (max_files <= 0)
|
||||
return 0;
|
||||
|
||||
dir = opendir (dirname);
|
||||
dir = g_dir_open(dirname, 0, NULL);
|
||||
if (dir == NULL)
|
||||
return 0;
|
||||
|
||||
@@ -252,15 +252,15 @@ init_from_dir(const char *dirname, unsigned int max_files)
|
||||
|
||||
do
|
||||
{
|
||||
de = readdir(dir);
|
||||
de = g_dir_read_name(dir);
|
||||
if (de == NULL)
|
||||
break;
|
||||
|
||||
md5_process_bytes(de->d_name, strlen(de->d_name), &guid_context);
|
||||
total += strlen(de->d_name);
|
||||
md5_process_bytes(de, strlen(de), &guid_context);
|
||||
total += strlen(de);
|
||||
|
||||
result = snprintf(filename, sizeof(filename),
|
||||
"%s/%s", dirname, de->d_name);
|
||||
"%s/%s", dirname, de);
|
||||
if ((result < 0) || (result >= (int)sizeof(filename)))
|
||||
continue;
|
||||
|
||||
@@ -273,7 +273,7 @@ init_from_dir(const char *dirname, unsigned int max_files)
|
||||
max_files--;
|
||||
} while (max_files > 0);
|
||||
|
||||
closedir(dir);
|
||||
g_dir_close(dir);
|
||||
|
||||
return total;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user