Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix compiler warnings, with explanations #100

Merged
merged 10 commits into from
May 13, 2015
Merged

Conversation

mvidner
Copy link
Member

@mvidner mvidner commented May 11, 2015

No description provided.

warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

Since we're comparing for equality with a number of items in the file,
casting to unsigned gives the correct result.
link: warning: `-version-info/-version-number' is ignored for convenience libraries

liby2foo was formerly linked to y2base,
but nowadays libpy2foo (p for plugin) is dlopen'd
@mvidner mvidner mentioned this pull request May 11, 2015
y2debug ("Rewriting %s to %s", sec.c_str(), buf);
file = buf;
delete [] buf;
file = format(rewrites[rb].out.c_str (), sec.c_str());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indentation looks incosistent

mvidner and others added 7 commits May 11, 2015 15:36
by using a previously introduced helper.

warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]

Luckily, the code did the right thing even if buggy, because S_IXOTH happens to be 1.
warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result]

if the chroot succeeded then the chdir("/") shouldn't fail anyway
Funnily, (void) system(...) still shows the warning:
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509
and the "fix" in GCC was to introduce -Wno-unused-result
(which disables all such warnings).
y2changes.cc is mostly duplicated from y2log.cc and will need more
cleanup. This partial cleanup only aims to remove the warning about
ignoring the return value of system(3).
This gets rid of the warnings:
warning: ignoring return value of 'int asprintf(char**, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]

which point to the error case where vasprintf cannot allocate memory
and the result is undefined, so the program would likely crash.
stringutil::form return an empty string in such case.
@mvidner
Copy link
Member Author

mvidner commented May 12, 2015

Updated

@jreidinger
Copy link
Member

LGTM

mvidner added a commit that referenced this pull request May 13, 2015
Fix compiler warnings, with explanations
@mvidner mvidner merged commit 58b154e into yast:master May 13, 2015
@mvidner mvidner deleted the warnings branch May 13, 2015 08:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants