Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
closes #299
|
|
Remove 317 warnings [-Wdiscarded-qualifiers].
|
|
fr-archive.c:45:5: warning: "ENABLE_MAGIC" is not defined, evaluates to 0 [-Wundef]
fr-archive.c:519:5: warning: "ENABLE_MAGIC" is not defined, evaluates to 0 [-Wundef]
|
|
|
|
caja-engrampa.c:439:2: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘const struct _GTypeInfo’} [-Wmissing-field-initializers]
eggtreemultidnd.c:70:2: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘const struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command.c:98:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-7z.c:750:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-ace.c:334:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-alz.c:397:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-ar.c:383:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-arj.c:429:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command.c:98:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-cfile.c:692:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-cpio.c:319:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-dpkg.c:305:17: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-iso.c:308:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-jar.c:234:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-lha.c:408:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-lrzip.c:262:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-rar.c:832:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-rpm.c:319:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-tar.c:1267:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-unarchiver.c:361:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-unstuff.c:381:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-zip.c:513:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-command-zoo.c:419:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-window.c:839:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-list-model.c:148:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘const struct _GTypeInfo’} [-Wmissing-field-initializers]
fr-process.c:248:3: warning: missing initializer for field ‘value_table’ of ‘GTypeInfo’ {aka ‘struct _GTypeInfo’} [-Wmissing-field-initializers]
ui.h:32:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
ui.h:33:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
ui.h:34:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
ui.h:35:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
ui.h:36:2: warning: missing initializer for field ‘accelerator’ of ‘GtkActionEntry’ {aka ‘struct _GtkActionEntry’} [-Wmissing-field-initializers]
|
|
dlg-batch-add.c:513:83: warning: cast from function call of type ‘gint’ {aka ‘int’} to non-matching type ‘double’ [-Wbad-function-cast]
513 | gtk_spin_button_set_value (GTK_SPIN_BUTTON (GET_WIDGET ("a_volume_spinbutton")), (double) g_settings_get_int (data->settings, PREF_BATCH_ADD_VOLUME_SIZE) / MEGABYTE);
| ^
dlg-new.c:321:81: warning: cast from function call of type ‘gint’ {aka ‘int’} to non-matching type ‘double’ [-Wbad-function-cast]
321 | gtk_spin_button_set_value (GTK_SPIN_BUTTON (data->n_volume_spinbutton), (double) g_settings_get_int (settings, PREF_BATCH_ADD_VOLUME_SIZE) / MEGABYTE);
| ^
|
|
actions.c:245:24: warning: declaration of ‘dialog’ shadows a previous local [-Wshadow]
caja-engrampa.c:137:17: warning: declaration of ‘file’ shadows a previous local [-Wshadow]
caja-engrampa.c:58:17: warning: declaration of ‘file’ shadows a previous local [-Wshadow]
dlg-add-files.c:120:9: warning: declaration of ‘uri’ shadows a previous local [-Wshadow]
fr-window.c:4935:11: warning: declaration of ‘value’ shadows a previous local [-Wshadow]
|
|
Closes https://github.com/mate-desktop/engrampa/issues/291
Test:
touch test.txt
zip test.zip test.txt
mv test.zip test.jar
cat << EOF > HelloWorld.java
package org.mate.tests;
class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello, World");
}
}
EOF
engrampa -a test.jar HelloWorld.java
jar tf test.jar
Output:
test.txt
org/mate/tests/HelloWorld.java
|
|
str is empty: if (*str == '\0') {...}
|
|
fr-command.h:205:16: warning: redundant redeclaration of ‘fr_command_is_capable_of’ [-Wredundant-decls]
|
|
java-utils.c:310:23: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
310 | for (i = length; (i >= 0) && (end == 0); i-- )
| ^~
|
|
Unused since https://github.com/mate-desktop/engrampa/commit/0d3a5b087f4bb6c118abe34a14ea27b86583f812
|
|
|
|
Fix compiler warning:
comparison of integers of different signs: 'int' and 'guint' (aka 'unsigned int') [-Wsign-compare]
|
|
closes https://github.com/mate-desktop/engrampa/issues/283
|
|
Detected by clang static analyzer:
$ scan-build -enable-checker alpha.deadcode.UnreachableCode --keep-cc -o html-report make
...
exit (EXIT_SUCCESS);
return TRUE; /* <= This statement is never executed */
...
|
|
|
|
Fixes 'cppcheck' warnings:
[src/fr-window.c:269]: (style) struct member '_FrWindowPrivateData::tree_hover_path' is never used.
[src/fr-window.c:349]: (style) struct member '_FrWindowPrivateData::mitem_recents_menu' is never used.
|
|
|
|
|
|
|
|
Remove hard-coded 'Back' label button
|
|
|
|
Fixes Clang static analyzer warning:
file-utils.c:453:6: warning: Out of bound memory access (access exceeds upper limit of memory block)
if (file_name [last_char] == G_DIR_SEPARATOR)
^~~~~~~~~~~~~~~~~~~~~
|
|
Fixes Clang static analyzer warning:
actions.c:137:5: warning: Use of memory after it is freed
return full_uri;
^~~~~~~~~~~~~~~
|
|
|
|
Use 'GString' instead 'g_strconcat'
|
|
Use 'g_strlcpy' instead of 'strcpy', and 'g_strlcat' instead of 'strcat'
Fixes Clang static analyzer warnings:
fr-process.c:696:5: warning: Call to function 'strcpy' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcpy'. CWE-119
strcpy(rarfile, argv[2]);
^~~~~~
fr-process.c:698:5: warning: Call to function 'strcat' is insecure as it does not provide bounding of the memory buffer. Replace unbounded copy functions with analogous functions that support length arguments such as 'strlcat'. CWE-119
strcat(rarfile, "part1.rar");
^~~~~~
fr-process.c:705:32: warning: Out of bound memory access (accessed memory precedes memory block)
rarfile[strlen(rarfile)-5]=0;
~~~~~~~~~~~~~~~~~~~~~~~~~~^~
|
|
Fixes Clang static analyzer warning:
fr-process.c:740:3: warning: Potential leak of memory pointed to by 'argv'
g_warning ("The files could not be move: %s\n", commandline);
^~~~~~~~~
|
|
This enables support for udeb (micro-deb) files, which are a package format used during bootstrapping a Debian installation. They have the same mimetype as regular deb files.
|
|
|
|
This adds a --version flag to the engrampa cli.
|
|
The first line of "dpkg-deb -I" output has only 5 words:
old Debian package, version 0.939000.
or
new Debian package, version 2.0.
Examples:
$ wget http://archive.debian.org/debian/dists/Debian-0.93R6/binary/admin/acct-5-10.deb
$ LANG=C dpkg-deb -I acct-5-10.deb
old Debian package, version 0.939000.
size 18338 bytes: control archive=1064, main archive=17260.
61 bytes, 3 lines conffiles
889 bytes, 20 lines control
570 bytes, 23 lines * postinst #!/bin/sh
107 bytes, 7 lines * postrm #!/bin/sh
212 bytes, 12 lines * preinst #!/bin/sh
212 bytes, 12 lines * prerm #!/bin/sh
...
$ wget http://archive.debian.org/debian/dists/bo/main/binary-all/admin/alien_3.3.deb
$ LANG=C dpkg-deb -I alien_3.3.deb
new Debian package, version 2.0.
size 20748 bytes: control archive=850 bytes.
394 bytes, 11 lines control
785 bytes, 13 lines md5sums
|