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

Compile error in irc_server.c and hopeful fix #74

Open
GoogleCodeExporter opened this issue Nov 10, 2015 · 1 comment
Open

Compile error in irc_server.c and hopeful fix #74

GoogleCodeExporter opened this issue Nov 10, 2015 · 1 comment

Comments

@GoogleCodeExporter
Copy link

First, about my machine:

[arch06:~/Download/dircproxy-1.1.0]$ uname -a
Linux arch06.cis.gvsu.edu 2.6.34.7-56.fc13.x86_64 #1 SMP Wed Sep 15 03:36:55 
UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
[arch06:~/Download/dircproxy-1.1.0]$ gcc --version
gcc (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

After running ./configure and when trying to run make, I get this error:

irc_server.c: In function ‘_ircserver_gotmsg’:
irc_server.c:702: error: lvalue required as left operand of assignment
irc_server.c:743: error: lvalue required as left operand of assignment
make[2]: *** [irc_server.o] Error 1
make[2]: Leaving directory `/home/swettt/Download/dircproxy-1.1.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/swettt/Download/dircproxy-1.1.0'
make: *** [all] Error 2

Here's the full output of configure and make: http://pastebin.ca/1950770

I looked at irc_server.c:702 and irc_server.c:743 and found that they were both 
"s = (l ? l->next : p->squelch_modes) = n;"; I changed both of these to "if (l) 
s = l-> next = n; else p->squelch_modes = n;". I tried to make again before 
encountering essentially the same problem (a ?: expression used as an lvalue) 
and changed it analogously; after doing the same a couple times, I got it to 
compile successfully.

Hopefully, this doesn't change the semantics of the program and these changes 
can be implemented without any harm.

Original issue reported on code.google.com by ihope...@gmail.com on 29 Sep 2010 at 1:03

@GoogleCodeExporter
Copy link
Author

While it’s been a while since I’ve written C, and I haven’t looked into 
this in detail, I believe your change is incorrect.  You omit one assignment in 
your change and “if (l) l->next = n; else p->squelch_modes = n; s = n;” 
accounts for this.  Regardless, I also noticed GCC 4 complains about the use of 
this conditional operator in dcc_net.c and net.c and I made similar changes to 
these files to allow dircproxy to compile cleanly.

If someone sees an issue here please let me know.

Original comment by daniel%m...@gtempaccount.com on 2 Nov 2010 at 4:25

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant