summaryrefslogtreecommitdiff
path: root/l10ntools
diff options
context:
space:
mode:
authorLuboš Luňák <l.lunak@suse.cz>2012-11-21 08:31:50 +0100
committerLuboš Luňák <l.lunak@suse.cz>2012-11-21 08:33:17 +0100
commit7f0bf0941c29fd0e1a83b6f4823f5c220f9cf365 (patch)
tree9cf6d6a8d085dc4c58a127bf36704c6e5fc2e227 /l10ntools
parent24d78519af498dc5a116fcdd8f1bb1b457c33a4f (diff)
dirent.h doesn't exist on windows
Change-Id: Id2afa8a9ef944285a34f51cd685cd0ff5a9b6041
Diffstat (limited to 'l10ntools')
-rw-r--r--l10ntools/source/renewpo.cxx27
1 files changed, 18 insertions, 9 deletions
diff --git a/l10ntools/source/renewpo.cxx b/l10ntools/source/renewpo.cxx
index 87a871a5b9d1..13a701683985 100644
--- a/l10ntools/source/renewpo.cxx
+++ b/l10ntools/source/renewpo.cxx
@@ -9,7 +9,6 @@
#include <iostream>
#include <fstream>
-#include <dirent.h>
#include <string>
#include <vector>
#include <map>
@@ -58,12 +57,10 @@ OString DelLocalId(const OString& rLine)
}
//Renew po files of the actual language
-void HandleLanguage(struct dirent* pLangEntry, const OString& rOldPath,
+void HandleLanguage(const OString& LangEntryName, const OString& rOldPath,
const OString& rNewPath, const OString& rpo2loPath,
const OString& rSDFPath)
{
- const OString LangEntryName = pLangEntry->d_name;
-
//Generate and open sdf
cout << "Process start with language: " << LangEntryName.getStr() << endl;
OUString aTempUrl;
@@ -228,15 +225,27 @@ int main(int argc, char* argv[])
}
//Call processing function with all language directories
- DIR* pTranslations = opendir(argv[1]);
- while ( struct dirent* pActEntry = readdir(pTranslations) )
+ OUString pathUrl;
+ if( osl::Directory::getFileURLFromSystemPath(
+ OStringToOUString( argv[ 1 ], RTL_TEXTENCODING_UTF8 ), pathUrl ) == osl::Directory::E_None )
{
- if ( OString(pActEntry->d_name).indexOf('.')==-1 )
- HandleLanguage(pActEntry,OString(argv[1]),
+ osl::Directory dir( pathUrl );
+ if( dir.reset() == osl::Directory::E_None )
+ {
+ for(;;)
+ {
+ osl::DirectoryItem item;
+ if( dir.getNextItem( item ) != osl::Directory::E_None )
+ break;
+ osl::FileStatus status( osl_FileStatus_Mask_FileName );
+ if( item.getFileStatus( status ) == osl::File::E_None && status.getFileName().indexOf('.')==-1 )
+ HandleLanguage( OUStringToOString(status.getFileName(), RTL_TEXTENCODING_UTF8),
+ OString(argv[1]),
OString(argv[2]),OString(argv[3]),
OString(argv[4]));
+ }
+ }
}
- closedir(pTranslations);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */