Commit graph

1604 commits

Author SHA1 Message Date
Russ Cox
da3ed55e4e devdraw: fix x11 input
R=rsc
https://codereview.appspot.com/10458043
2013-06-21 15:28:02 -04:00
Xi Wang
1bfec89b99 rc: avoid undefined C
There are two bugs in pdec() on INT_MIN:

* wrong output.

`n = 1-n' should be `n = -1-n' when n is INT_MIN.

* infinite loop.

gcc optimizes `if(n>=0)' into `if(true)' because `-INT_MIN' (signed integer overflow) is undefined behavior in C, and gcc assumes the negation of a negative number must be positive.  The resulting binary keeps printing '-' forever given INT_MIN.

Try the simplified pdec.c below.

$ gcc pdec.c
$ ./a.out -2147483648
--214748364*

$ gcc pdec.c -O2
$ ./a.out -2147483648
<infinite loop>

$ gcc pdec.c -O2 -D__PATCH__
$ ./a.out -2147483648
-2147483648

=== pdec.c ===

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

#define io void

void pchr(io *f, int c)
{
        putchar(c);
}

void pdec(io *f, int n)
{
        if(n<0){
#ifndef __PATCH__
                n=-n;
                if(n>=0){
                        pchr(f, '-');
                        pdec(f, n);
                        return;
                }
                /* n is two's complement minimum integer */
                n = 1-n;
#else
                if(n!=INT_MIN){
                        pchr(f, '-');
                        pdec(f, -n);
                        return;
                }
                /* n is two's complement minimum integer */
                n = -(INT_MIN+1);
#endif
                pchr(f, '-');
                pdec(f, n/10);
                pchr(f, n%10+'1');
                return;
        }
        if(n>9)
                pdec(f, n/10);
        pchr(f, n%10+'0');
}

int main(int argc, char **argv)
{
        int n = atoi(argv[1]);
        pdec(NULL, n);
        putchar('\n');
}

R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/7241055
2013-03-19 14:36:50 -04:00
Russ Cox
01e3847b7e xd: accept -S for 8-byte swap
R=rsc
https://codereview.appspot.com/7565045
2013-03-11 17:26:11 -04:00
Russ Cox
36bb28dc63 devdraw: control+click = button 2, alt/shift+click = button 3
For single-button mouse users.

R=rsc
https://codereview.appspot.com/7620043
2013-03-07 22:40:47 -05:00
Russ Cox
17934beda0 devdraw: silence unused variable warnings
R=rsc
https://codereview.appspot.com/7304064
2013-02-08 12:46:59 -05:00
Russ Cox
5154e54d8b devdraw: disable XCopyArea optimization
Ubuntu Precise seems to have a buggy X server
that sometimes fails at XCopyArea. Let devdraw
do it itself.

This will slow down remote X a little bit,
but slow and correct is better than fast and broken.

R=rsc
https://codereview.appspot.com/7310069
2013-02-08 12:44:56 -05:00
Alessandro Arzilli
cac1425c4a fontsrv: fix on X11 when X11H is not defined
R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/7228044
2013-01-30 17:46:16 -08:00
David du Colombier
d5baaf984f jpegdump: fix build and warnings
R=rsc
https://codereview.appspot.com/7070070
2013-01-19 10:05:12 +01:00
David du Colombier
23efb34d47 freq: fix crash with utf > 0xffff (thanks Andrey Mirtchovski)
R=rsc
https://codereview.appspot.com/7029054
2013-01-04 20:06:08 +01:00
David du Colombier
0798d6b741 venti/wrarena: fix arenapart breakage
R=rsc
https://codereview.appspot.com/7027044
2013-01-03 06:48:36 +01:00
Russ Cox
cb71c0bdc4 fontsrv: only build when the pieces are there 2012-12-18 07:22:19 -08:00
Christian Kellermann
1a512ec048 fontsrv: fix build on OpenBSD 5.2
R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/6850108
2012-12-11 12:45:45 -05:00
David du Colombier
0b4fd92105 auth/factotum: fix password prompt hang with secstore
R=rsc
http://codereview.appspot.com/6906057
2012-12-09 11:24:30 +01:00
Russ Cox
09adcb0901 fontsrv: make single quotes look like quotes
R=rsc
https://codereview.appspot.com/6864051
2012-12-03 15:55:13 -05:00
Russ Cox
1785490baa fontsrv: scaled pjw
R=rsc
https://codereview.appspot.com/6854130
2012-12-01 00:35:06 -05:00
Russ Cox
c96d832508 acme: retina scaling for scroll bars, button
R=rsc
http://codereview.appspot.com/6854094
2012-11-26 00:33:05 -05:00
Russ Cox
c28224992a samterm: retina scaling for scroll bars, borders
R=rsc
http://codereview.appspot.com/6844083
2012-11-26 00:23:06 -05:00
Russ Cox
a8a0a6422c 9term: adjust to dpi changes
R=rsc
http://codereview.appspot.com/6847105
2012-11-26 00:13:18 -05:00
Russ Cox
58b1904e3e devdraw: fake dpi calculation on Mac
R=rsc
http://codereview.appspot.com/6782115
2012-11-25 23:55:27 -05:00
Russ Cox
ffaaaf9dae devdraw: use %R not Fn-F3 for retina toggle
R=rsc
http://codereview.appspot.com/6854093
2012-11-25 23:47:54 -05:00
Russ Cox
55905845f3 devdraw: add forcedpi toggled by Fn+F3 on Mac
R=rsc
http://codereview.appspot.com/6846104
2012-11-25 23:38:14 -05:00
Marius Eriksen
2589c5c6ee acme: set $samfile (same as $%) during execution
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6854092
2012-11-25 22:56:08 -05:00
Russ Cox
e19fde3584 fontsrv: work around a few crashes
Probably not the right fix, but gets us going.

R=rsc
http://codereview.appspot.com/6782113
2012-11-25 22:45:32 -05:00
Russ Cox
c6d1f20537 devdraw: fix retina mode
R=rsc
http://codereview.appspot.com/6847104
2012-11-25 22:43:57 -05:00
Russ Cox
d0e0701913 devdraw, libdraw: add display->dpi
Fixed at 100 right now, but the plan is to make it accurate
and then use it.

R=rsc
http://codereview.appspot.com/6856091
2012-11-25 21:41:52 -05:00
Shenghou Ma
7b9ef735a8 devdraw: restore compilation on OS X 10.6
Also add some ignored files to .hgignore

R=rsc
http://codereview.appspot.com/6842089
2012-11-25 21:20:18 -05:00
Russ Cox
9ca6e21f3d acme: use threadspawnd to avoid changing "." of current process
R=rsc
http://codereview.appspot.com/6736060
2012-10-22 12:32:31 -04:00
Marius Eriksen
81c2c5e775 acme: add $acmeshell to control execution shell
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6614056
2012-10-21 16:52:08 -04:00
Yuval Pavel Zholkover
9c61127928 fontsrv: x11 support
R=rsc, 0intro
CC=plan9port.codebot
http://codereview.appspot.com/6739047
2012-10-21 16:49:13 -04:00
Rob Kroeger
e13727e3c4 plumb.app: accept plumb:foo as alias for foo
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/5495046
2012-10-21 12:53:33 -04:00
Caio Oliveira
e4122a42b9 devdraw: map X11 dead_diaresis to double quote
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6690049
2012-10-21 12:12:00 -04:00
Russ Cox
c5bfba483f silence more warnings
R=rsc
http://codereview.appspot.com/6744056
2012-10-21 12:04:56 -04:00
Russ Cox
0cfb376070 fix clang warnings reported by Tuncer Ayaz
R=rsc
http://codereview.appspot.com/6744054
2012-10-21 11:25:08 -04:00
Russ Cox
220c15d2b7 fix gcc 4.7 warnings (thanks Tuncer Ayaz)
R=rsc
http://codereview.appspot.com/6744053
2012-10-20 13:36:52 -04:00
Rob Kroeger
ef99c9f1ae devdraw: MacBook retina support
Enable with export devdrawretina=1 (everything will be smaller).

R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6592072
2012-10-16 13:55:44 -04:00
Russ Cox
60a47420a8 devdraw: prefer 24-bit over 15-bit or 16-bit.
Fixes remote X11 use via XQuartz 2.7.4.

R=rsc
http://codereview.appspot.com/6624058
2012-10-07 09:48:47 -04:00
Erik Quanstrom
5b6028903d acme: correct writes of runes on auspicious byte boundaries
R=rsc, r
CC=plan9port.codebot
http://codereview.appspot.com/6586067
2012-10-05 16:42:25 -04:00
Akshat Kumar
ac3ba726f9 src/cmd: Add a repurposed import(4), called `9import', to the ports.
The code is adapted from Plan 9's import(4); this allows us to speak
that protocol. We don't currently support AAN (in the works) or
TLS/SSL.

Thanks to David for help with the man page, testing, and development.

R=0intro, rsc
CC=plan9port.codebot
http://codereview.appspot.com/6458100
2012-09-24 10:35:01 -04:00
Russ Cox
37f8ed2410 acme: mouse movement for Del
If the mouse was in the tag of the old window,
it was most likely pointing at Del. If bringing up a
new window from below and not moving the mouse
somewhere else, adjust it so that it ends up pointing
at Del in the replacement window's tag too.
This makes it easy to Del a sequence of windows in
a column, from top to bottom.

http://www.youtube.com/watch?v=ET8w6RT6u5M

R=r
http://codereview.appspot.com/6558047
2012-09-23 22:01:56 -04:00
Russ Cox
9dbe4a0df9 snarfer: disable during build
Don't want to require X11 during OS X build anymore.

R=rsc
http://codereview.appspot.com/6531045
2012-09-18 11:39:24 -04:00
Russ Cox
85504cda14 sam: add $% as an alias for $samfile
R=r
http://codereview.appspot.com/6488137
2012-09-17 14:53:11 -04:00
Ties Bos
d4ccb0a943 9pfuse: fix memory leak, avoid memory explosion
Change is to handle FUSE_FORGET in main loop instead of separate thread for each as 10s of thousands can come in at once.
Fixes issue 104.

R=0intro, rsc
http://codereview.appspot.com/6498081
2012-09-10 22:07:26 -04:00
Russ Cox
d905d2f5fe 9pfuse: osxfuse support
R=rsc
http://codereview.appspot.com/6503093
2012-09-08 12:49:19 -04:00
Russ Cox
fee1a4639b disk/mkfs,disk/mkext: fix mkdir conflict
R=rsc
http://codereview.appspot.com/6445076
2012-08-05 13:10:47 -04:00
David du Colombier
3a616eaa80 vacfs: fix create srv with ORCLOSE on plan 9
In the current code, the srv file is removed
just after the main thread exits, while the
srv thread is still running, which is not
the expected behavior.
We moved the srv creation just before the
procrfork, in order that the srv file will
not be removed until the srv thread exits.

R=rsc
http://codereview.appspot.com/6397047
2012-08-03 21:12:10 +02:00
David Jeannot
9bcf137376 devdraw: make it 3 times faster on OS X
This patch reverts the recent patch named "devdraw: fix for OS X 10.8", and fixes redrawing on OSX 10.8 differently, making scrolling under Acme 3 times faster.

R=rsc, mirtchovski
CC=plan9port.codebot
http://codereview.appspot.com/6452087
2012-08-03 13:26:46 -04:00
Rob Kroeger
ad4025bd76 devdraw: fix for OS X 10.8 (Mountain Lion)
In MacOS 10.8, the NSBitmapImageRep class appears to cache the specified
image data at the time of construction. As a result updates to the
backing memimage object do not get pushed to the screen in flushimg.

This patch creates the NSBitmapImageRep object over again for each
flushimg which would appear to fix the problem.

R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6443063
2012-07-31 11:24:44 -04:00
Russ Cox
d2173bb552 disk/mkfs, disk/mkext: add from Plan 9
R=rsc, rsc
http://codereview.appspot.com/6405057
2012-07-17 19:10:45 -04:00
Russ Cox
9d4f8bfecc auth/factotum: fix flush (thanks Erik Quanstrom)
R=rsc
http://codereview.appspot.com/6402044
2012-07-14 08:30:51 -04:00
David du Colombier
3409bc9ae1 lib9/dial: add support for IPv6
The function p9dialparse() returns the host as a sockaddr_storage
structure instead of a u32int, to be able to handle both IPv4
and IPv6 addresses. Because the sockaddr_storage structure also
handle port numbers and Unix path names, there is no longer
need to set them in the calling functions. However, these values
are still returned for convenience.

The sockaddr_in and sockaddr_un structures have been replaced
by sockaddr_storage to handle Unix, IPv4 and IPv6 sockets.

Names and addresses are resolved using either gethostbyname()
or getaddrinfo() functions.

The getaddrinfo() function is documented in RFC2553 and standardized
since POSIX.1-2001. It supports both IPv4 and IPv6 addresses.
The gethostbyname() function is deprecated since POSIX.1-2008.
However, some libc implementations don't handle getaddrinfo()
properly, thus we preferred to try gethostbyname() first.

I've tried to preserve most of the old code logic to prevent
from surprising or unwanted behavior.

R=rsc
http://codereview.appspot.com/6255068
2012-06-02 21:50:59 +02:00