Re: Remove sort files
От | Bruce Momjian |
---|---|
Тема | Re: Remove sort files |
Дата | |
Msg-id | 200105240114.f4O1EWl05501@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: Remove sort files (Ian Lance Taylor <ian@airs.com>) |
Список | pgsql-patches |
> Bruce Momjian <pgman@candle.pha.pa.us> writes: > > > + if (temp_de->d_type == DT_REG) > > The d_type field, and the corresponding macros such as DT_REG, are not > portable. > > The only portable field in the dirent structure is d_name. > > If you want to be really really super portable, you have to think > about supporting direct.h and other header files. See AC_DIR_HEADER > and AC_HEADER_DIRENT in the autoconf documentation. But these days > probably every OS of interest supports dirent.h, which is defined by > POSIX. Seems Vadim already added readdir() that does similar work for WAL files in xlog.c: while ((xlde = readdir(xldir)) != NULL) { if (strlen(xlde->d_name) == 16 && strspn(xlde->d_name, "0123456789ABCDEF") == 16 && strcmp(xlde->d_name, lastoff) <= 0) { elog(LOG, "MoveOfflineLogs: %s %s", (XLOG_archive_dir[0]) ? "archive" : "remove", xlde->d_name); sprintf(path, "%s%c%s", XLogDir, SEP_CHAR, xlde->d_name); if (XLOG_archive_dir[0] == 0) unlink(path); } errno = 0; } I will remove the _REG test and add the strspn test he has: if (strspn(temp_de->d_name, "0123456789.") == strlen(temp_de->dname)) -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
В списке pgsql-patches по дате отправления: