1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00
putty-source/windows
Simon Tatham fdc4800669 Build testcrypt on Windows.
The bulk of this commit is the changes necessary to make testcrypt
compile under Visual Studio. Unfortunately, I've had to remove my
fiddly clever uses of C99 variadic macros, because Visual Studio does
something unexpected when a variadic macro's expansion puts
__VA_ARGS__ in the argument list of a further macro invocation: the
commas don't separate further arguments. In other words, if you write

  #define INNER(x,y,z) some expansion involving x, y and z
  #define OUTER(...) INNER(__VA_ARGS__)
  OUTER(1,2,3)

then gcc and clang will translate OUTER(1,2,3) into INNER(1,2,3) in
the obvious way, and the inner macro will be expanded with x=1, y=2
and z=3. But try this in Visual Studio, and you'll get the macro
parameter x expanding to the entire string 1,2,3 and the other two
empty (with warnings complaining that INNER didn't get the number of
arguments it expected).

It's hard to cite chapter and verse of the standard to say which of
those is _definitely_ right, though my reading leans towards the
gcc/clang behaviour. But I do know I can't depend on it in code that
has to compile under both!

So I've removed the system that allowed me to declare everything in
testcrypt.h as FUNC(ret,fn,arg,arg,arg), and now I have to use a
different macro for each arity (FUNC0, FUNC1, FUNC2 etc). Also, the
WRAPPED_NAME system is gone (because that too depended on the use of a
comma to shift macro arguments along by one), and now I put a custom C
wrapper around a function by simply re-#defining that function's own
name (and therefore the subsequent code has to be a little more
careful to _not_ pass functions' names between several macros before
stringifying them).

That's all a bit tedious, and commits me to a small amount of ongoing
annoyance because now I'll have to add an explicit argument count
every time I add something to testcrypt.h. But then again, perhaps it
will make the code less incomprehensible to someone trying to
understand it!
2019-01-12 08:07:44 +00:00
..
installer.wxs Fix platform field in Windows on Arm installers. 2018-08-21 07:17:06 +01:00
msiplatform.py Fix platform field in Windows on Arm installers. 2018-08-21 07:17:06 +01:00
pageant.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
pageant.mft Make manifest files work with 64bit builds of PuTTY. 2015-08-15 13:54:44 +01:00
pageant.rc Pageant and PuTTYgen About boxes: add the website button. 2017-02-22 07:06:00 +00:00
pageants.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
plink.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
pscp.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
pscp.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
psftp.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
putty.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
putty.iss Update version number for 0.70 release. 2017-07-04 20:29:54 +01:00
putty.mft Make manifest files work with 64bit builds of PuTTY. 2015-08-15 13:54:44 +01:00
putty.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
puttycfg.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
puttygen.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
puttygen.mft Make manifest files work with 64bit builds of PuTTY. 2015-08-15 13:54:44 +01:00
puttygen.rc Pageant and PuTTYgen About boxes: add the website button. 2017-02-22 07:06:00 +00:00
puttyins.ico `installer.ico' doesn't fit into 8.3, so gets truncated to INSTALLE.ICO in 2007-02-06 22:39:15 +00:00
puttytel.mft Give PuTTYtel its own Windows manifest file. 2018-10-06 11:57:59 +01:00
puttytel.rc Give PuTTYtel its own Windows manifest file. 2018-10-06 11:57:59 +01:00
rcstuff.h Remove Makefile.bor. 2017-09-13 19:26:28 +01:00
README-msi.txt Switch chiark URLs to https. 2017-05-07 16:29:01 +01:00
README.txt Switch chiark URLs to https. 2017-05-07 16:29:01 +01:00
sizetip.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
version.rc2 Rewrite some comments with FIXMEs in them. 2018-10-06 11:57:59 +01:00
website.url Switch chiark URLs to https. 2017-05-07 16:29:01 +01:00
win_res.h Use readonly edit controls in some Windows dialogs. 2016-02-29 19:59:35 +00:00
win_res.rc2 Rewrite some comments with FIXMEs in them. 2018-10-06 11:57:59 +01:00
wincapi.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
wincapi.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
wincfg.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
wincons.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winctrls.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
windefs.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
windlg.c Remove a load of obsolete printf string limits. 2018-12-08 21:06:59 +00:00
window.c Replace assert(false) with an unreachable() macro. 2019-01-03 08:12:28 +00:00
wingss.c Fix a Windows warning on a strange cast. 2018-06-03 16:52:25 +01:00
winhandl.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winhelp.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winhelp.h Add option whether to include header when logging. 2018-09-26 12:13:01 +01:00
winhsock.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winjump.c Nitpick: fix missing 'void' in one declaration. 2018-11-03 13:45:00 +00:00
winmisc.c Move some of winmisc.c into winmiscs.c. 2019-01-12 08:14:54 +00:00
winmiscs.c Build testcrypt on Windows. 2019-01-12 08:07:44 +00:00
winnet.c Replace assert(false) with an unreachable() macro. 2019-01-03 08:12:28 +00:00
winnoise.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winnojmp.c Fix up svn:eol-style and svn:keywords on new files. 2010-12-27 00:24:48 +00:00
winnpc.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
winnps.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
winpgen.c Remove a lot of pointless 'struct' keywords. 2019-01-04 08:04:39 +00:00
winpgnt.c Remove a lot of pointless 'struct' keywords. 2019-01-04 08:04:39 +00:00
winpgntc.c Replace assert(false) with an unreachable() macro. 2019-01-03 08:12:28 +00:00
winplink.c Remove 'static' qualifier from Conf pointer 2018-11-04 08:29:15 +00:00
winprint.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winproxy.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
winsecur.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winsecur.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winser.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winsftp.c pscp: replace crash with diagnostic on opendir failure. 2018-12-27 16:52:23 +00:00
winshare.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
winstore.c Fix a segfault in store_host_key. 2018-11-07 21:12:21 +00:00
winstuff.h Move defn of PLATFORM_HAS_SMEMCLR into defs.h. 2019-01-03 23:33:10 +00:00
wintime.c wintime: add a precautionary memset to zero. 2017-02-14 23:25:25 +00:00
winucs.c Start using C99 variadic macros. 2018-12-08 20:48:41 +00:00
winutils.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winx11.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00

PuTTY README
============

This is the README file for the PuTTY installer distribution. If
you're reading this, you've probably just run our installer and
installed PuTTY on your system.

What should I do next?
----------------------

If you want to use PuTTY to connect to other computers, or use PSFTP
to transfer files, you should just be able to run them from the
Start menu.

If you want to use the command-line-only file transfer utility PSCP,
you will probably want to put the PuTTY installation directory on
your PATH. On Windows 7 and similar versions, you can do this at
Control Panel > System and Security > System > Advanced system
settings > Environment Variables.

Some versions of Windows will refuse to run HTML Help files (.CHM)
if they are installed on a network drive. If you have installed
PuTTY on a network drive, you might want to check that the help file
works properly. If not, see http://support.microsoft.com/kb/896054
for information on how to solve this problem.

What do I do if it doesn't work?
--------------------------------

The PuTTY home web site is

    https://www.chiark.greenend.org.uk/~sgtatham/putty/

Here you will find our list of known bugs and pending feature
requests. If your problem is not listed in there, or in the FAQ, or
in the manuals, read the Feedback page to find out how to report
bugs to us. PLEASE read the Feedback page carefully: it is there to
save you time as well as us. Do not send us one-line bug reports
telling us `it doesn't work'.