Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
closes https://github.com/mate-desktop/engrampa/issues/200
|
|
For instance, application/x-lha is an alias of application/x-lzh-compressed,
mime_type_desc.mime_type should only store non duplicated primary mime-types,
to avoid duplicates in the warehouse.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test:
$ ./autogen.sh --enable-debug=profile --prefix=/usr
<cut>
Configuration:
Source code location: .
Compiler: gcc
Compiler flags: -g -pg
Warning flags: -Wall -Wmissing-prototypes
Linker flags: -pg
Caja support: yes
PackageKit support: yes
Run in place no
Use libmagic: no
JSON support: yes
Now type `make' to compile engrampa
$ ./autogen.sh --enable-debug --prefix=/usr
<cut>
Configuration:
Source code location: .
Compiler: gcc
Compiler flags: -g -O0
Warning flags: -Wall -Wmissing-prototypes
Linker flags:
Caja support: yes
PackageKit support: yes
Run in place no
Use libmagic: no
JSON support: yes
Now type `make' to compile engrampa
$ grep MATE_ENABLE_DEBUG config.h
|
|
$ file -b --mime-type ~/test.tar.Z
application/x-compress
$ hexdump -C -n 2 ~/test.tar.Z
00000000 1f 9d |..|
00000002
$ file -b --mime-type ~/atril-1.23.1-1.fc30.src.rpm
application/x-rpm
$ hexdump -C -n 4 ~/atril-1.23.1-1.fc30.src.rpm
00000000 ed ab ee db |....|
00000004
$ file -b --mime-type ~/test.lzh
application/x-lzh-compressed
$ hexdump -C -s 2 -n 3 ~/test.lzh
00000002 2d 6c 68 |-lh|
00000005
|
|
|
|
$ tar cafv ~/test.tar.zst ~/test
$ xdg-mime query filetype ~/test.tar.zst
application/x-zstd-compressed-tar
Test:
$ CFLAGS="-g -O0" ./autogen.sh --enable-magic --enable-packagekit --prefix=/usr && make && sudo make install
$ engrampa ~/test.tar.zst
|
|
|
|
MIME type is application/x-zstd:
$ lorem-ipsum-generator -p 10000 -l -f plain > lorem.txt
$ zstd lorem.txt
$ file -b --mime-type lorem.txt.zst
application/x-zstd
Test:
$ CFLAGS="-g -O0" ./autogen.sh --enable-magic --enable-packagekit --prefix=/usr && make && sudo make install
|
|
Changes:
Replace application/x-ar with application/x-archive
ar magic number: "!<arch>\n"
deb magic number (Debian 0.93+): "!<arch>\ndebian-binary"
REF:
https://en.wikipedia.org/wiki/Ar_(Unix)
https://en.wikipedia.org/wiki/Deb_(file_format)
Test:
$ touch a && touch b && ar r test.ar a b && cp test.ar test-2.a
$ xdg-mime query filetype test.ar
application/x-archive
$ xdg-mime query filetype dftp_2.2-1.deb
application/vnd.debian.binary-package
$ gio info test.ar | grep content-type
standard::content-type: application/x-archive
standard::fast-content-type: application/x-archive
$ gio info dftp_2.2-1.deb | grep content-type
standard::content-type: application/vnd.debian.binary-package
standard::fast-content-type: application/vnd.debian.binary-package
$ hexdump -C -n 8 test.ar
00000000 21 3c 61 72 63 68 3e 0a |!<arch>.|
00000008
$ hexdump -C -n 21 dftp_2.2-1.deb
00000000 21 3c 61 72 63 68 3e 0a 64 65 62 69 61 6e 2d 62 |!<arch>.debian-b|
00000010 69 6e 61 72 79 |inary|
00000015
$ ./autogen.sh --prefix=/usr --disable-magic && make && sudo make install
|
|
|
|
mkdtemp():
/* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc 2.19 and earlier: */ _BSD_SOURCE
|| /* Since glibc 2.10: */ _POSIX_C_SOURCE >= 200809L
_POSIX_C_SOURCE 200809L is enabled by _XOPEN_SOURCE >= 700.
Ref: http://man7.org/linux/man-pages/man7/feature_test_macros.7.html
|
|
|
|
|
|
USAGE: ./autogen.sh --enable-compile-warnings=no/minimum/yes/maximum/error@
If --enable-compile-warnings is not provided, the default is
--enable-compile-warnings=yes
|
|
test:
$ touch " test"
$ touch " test"
$ ar r test.a " test" " test"
$ ar tv test.a
rw-rw-r-- 1000/1001 0 Sep 18 14:58 2019 test
rw-rw-r-- 1000/1001 0 Sep 18 14:58 2019 test
$ engrampa test.a
|
|
|
|
gio returns "application/x-lha" in get_mime_type_from_content
test:
$ LANG=C gio info 1.lzh | grep content-type
standard::content-type: application/x-lha
standard::fast-content-type: application/x-lha
|
|
|
|
|
|
|
|
LHA media type is application/x-lzh-compressed
$ file --mime-type ~/test.lzh
/home/robert/test.lzh: application/x-lzh-compressed
|
|
void g_list_free_full (GList *list, GDestroyNotify free_func);
void g_slist_free_full (GList *list, GDestroyNotify free_func);
Convenience methods, which free all the memory used by a list,
and calls free_func on every element's data.
|
|
|
|
Based on https://github.com/GNOME/file-roller/commit/9a37eb44a8ec5d0a20ea78c9a44c7c9e50bb508f#diff-41f5e2a364a93ff790f678ba58265d43
|
|
gtk-utils.c:171:3: warning: ‘gtk_image_new_from_stock’ is deprecated: Use 'gtk_image_new_from_icon_name' instead [-Wdeprecated-declarations]
171 | image = gtk_image_new_from_stock (text, GTK_ICON_SIZE_BUTTON);
| ^~~~~
gtk-utils.c:173:3: warning: ‘gtk_image_new_from_stock’ is deprecated: Use 'gtk_image_new_from_icon_name' instead [-Wdeprecated-declarations]
173 | image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_BUTTON);
| ^~~~~
|
|
cppcheck --enable=unusedFunction .
|
|
|
|
dlg-package-installer.c:294:9: warning: ‘GtkStock’ is deprecated [-Wdeprecated-declarations]
294 | GTK_STOCK_DIALOG_ERROR,
| ^~~~~~~~~~~~~~~~~~~~~~
dlg-package-installer.c:297:9: warning: ‘GtkStock’ is deprecated [-Wdeprecated-declarations]
297 | GTK_STOCK_CANCEL, GTK_RESPONSE_NO,
| ^~~~~~~~~~~~~~~~
|
|
$ cppcheck --enable=unusedFunction .
[src/gio-utils.c:1091]: (style) The function 'g_copy_uri_async' is never used.
[src/gio-utils.c:1060]: (style) The function 'g_copy_uris_async' is never used.
|
|
get_time_string() is a local function that wraps strftime().
In contrast to strftime(), g_date_time_format() always produces
an UTF-8 string, regardless of the current locale.
|
|
closes #303
|