mimeset: Use TextSnifferAddon when using a custom MIME DB
That addresses the problem that packaged text files aren't correctly identified (ticket #9972). All concerned packages have to be rebuilt, of course.
This commit is contained in:
parent
6140f897d4
commit
2b76973fa2
@ -599,6 +599,7 @@ if $(HOST_PLATFORM) = freebsd {
|
||||
HOST_BE_API_HEADERS =
|
||||
[ FDirName $(HAIKU_TOP) headers build ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os add-ons registrar ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os app ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os drivers ]
|
||||
[ FDirName $(HAIKU_TOP) headers build os kernel ]
|
||||
|
1
headers/build/os/add-ons/registrar/MimeSnifferAddon.h
Normal file
1
headers/build/os/add-ons/registrar/MimeSnifferAddon.h
Normal file
@ -0,0 +1 @@
|
||||
#include <../os/add-ons/registrar/MimeSnifferAddon.h>
|
@ -0,0 +1 @@
|
||||
#include <../../../private/storage/mime/MimeSnifferAddonManager.h>
|
1
headers/build/private/storage/mime/TextSnifferAddon.h
Normal file
1
headers/build/private/storage/mime/TextSnifferAddon.h
Normal file
@ -0,0 +1 @@
|
||||
#include <../../../private/storage/mime/TextSnifferAddon.h>
|
@ -17,6 +17,8 @@
|
||||
#include <mime/Database.h>
|
||||
#include <mime/DatabaseLocation.h>
|
||||
#include <mime/MimeInfoUpdater.h>
|
||||
#include <mime/MimeSnifferAddonManager.h>
|
||||
#include <mime/TextSnifferAddon.h>
|
||||
|
||||
|
||||
using namespace BPrivate::Storage::Mime;
|
||||
@ -204,13 +206,24 @@ main(int argc, const char** argv)
|
||||
for (int32 i = 0; i < count; i++)
|
||||
databaseLocation.AddDirectory(databaseDirectories.StringAt(i));
|
||||
|
||||
sDatabase = new(std::nothrow) Database(&databaseLocation, NULL, NULL);
|
||||
status_t error = MimeSnifferAddonManager::CreateDefault();
|
||||
if (error != B_OK) {
|
||||
fprintf(stderr, "%s: Failed to create MIME sniffer add-on "
|
||||
"manager: %s\n", sProgramName, strerror(error));
|
||||
exit(1);
|
||||
}
|
||||
MimeSnifferAddonManager* manager = MimeSnifferAddonManager::Default();
|
||||
manager->AddMimeSnifferAddon(
|
||||
new(std::nothrow) TextSnifferAddon(&databaseLocation));
|
||||
|
||||
sDatabase = new(std::nothrow) Database(&databaseLocation, manager,
|
||||
NULL);
|
||||
if (sDatabase == NULL) {
|
||||
fprintf(stderr, "%s: Out of memory!\n", sProgramName);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
status_t error = sDatabase->InitCheck();
|
||||
error = sDatabase->InitCheck();
|
||||
if (error != B_OK) {
|
||||
fprintf(stderr, "%s: Failed to init MIME DB: %s\n", sProgramName,
|
||||
strerror(error));
|
||||
|
@ -45,9 +45,12 @@ BuildPlatformMergeObjectPIC <libbe_build>storage_kit.o :
|
||||
MimeEntryProcessor.cpp
|
||||
MimeInfoUpdater.cpp
|
||||
MimeSniffer.cpp
|
||||
MimeSnifferAddon.cpp
|
||||
MimeSnifferAddonManager.cpp
|
||||
SnifferRules.cpp
|
||||
Supertype.cpp
|
||||
SupportingApps.cpp
|
||||
TextSnifferAddon.cpp
|
||||
|
||||
# sniffer
|
||||
CharStream.cpp
|
||||
|
Loading…
x
Reference in New Issue
Block a user