Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #109676

Re: Printing like palindrome

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Printing like palindrome
Date 2017-05-10 15:45 +0100
Organization A noiseless patient Spider
Message-ID <8760h893f3.fsf@bsb.me.uk> (permalink)
References <5911a0f4$0$294$14726298@news.sunsite.dk> <gvkQA.151059$3%2.68829@fx09.iad> <87mvalaei4.fsf@bsb.me.uk> <stEQA.5449$Pq7.306@fx21.iad>

Show all headers | View raw


scott@slp53.sl.home (Scott Lurndal) writes:

> Ben Bacarisse <ben.usenet@bsb.me.uk> writes:
>>scott@slp53.sl.home (Scott Lurndal) writes:
>>
>
>>> $ cat /tmp/a.c
>>> #include <ctype.h>
>>> #include <stdio.h>
>>> #include <string.h>
>>>
>>> int
>>> main(int argc, const char **argv, const char **envp)
>>> {
>>>     const char *cp = argv[1];
>>>     if ((argc < 2) || (strlen(cp) > 1) || !isalpha(*cp)) {
>>>         printf("Argument to '%s' must be a single alphabetic character, not '%s'\n",
>>>                argv[0], argv[1]?argv[1]:"<empty>");
>>>         return 1;
>>>     }
>>>
>>>     for(char c = 'A'; c != toupper(*cp); c++) printf("%c", c);
>>>     for(char c = toupper(*cp); c >= 'A'; --c) printf("%c", c);
>>>     putc('\n', stdout);
>>>     return 0;
>>> }
>>
>>There's the nasty issue that toupper takes an int and is only defined
>>for positive arguments (and EOF) whereas *cp may be negative.
>
> For EBCDIC, yes all the alpha characters have the high-order bit
> set.  For ASCII the values that pass the validity checks will not
> be greater than 0x7f.

But the same applies to the validity check.  You can't be sure that
isalpha(*cp) is not being passed a negative value.

-- 
Ben.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-09 10:59 +0000
  Re: Printing like palindrome Barry Schwarz <schwarzb@dqel.com> - 2017-05-09 04:26 -0700
    Re: Printing like palindrome Robert Wessel <robertwessel2@yahoo.com> - 2017-05-09 14:10 -0500
      Re: Printing like palindrome Keith Thompson <kst-u@mib.org> - 2017-05-09 12:33 -0700
        Re: Printing like palindrome Richard Heathfield <rjh@cpax.org.uk> - 2017-05-09 23:05 +0100
          Re: Printing like palindrome raltbos@xs4all.nl (Richard Bos) - 2017-05-10 10:25 +0000
            Re: Printing like palindrome Richard Heathfield <rjh@cpax.org.uk> - 2017-05-10 11:44 +0100
          Re: Printing like palindrome Keith Thompson <kst-u@mib.org> - 2017-05-10 09:48 -0700
            Re: Printing like palindrome Gareth Owen <gwowen@gmail.com> - 2017-05-10 18:59 +0100
        Re: Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-12 07:14 +0000
      Re: Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-12 07:44 +0000
    Re: Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-12 07:20 +0000
      Re: Printing like palindrome Keith Thompson <kst-u@mib.org> - 2017-05-12 08:49 -0700
        Re: Printing like palindrome arnuld <sunrise@invalid.address> - 2017-05-14 02:01 +0000
  Re: Printing like palindrome mark.bluemel@gmail.com - 2017-05-09 07:13 -0700
    Re: Printing like palindrome scott@slp53.sl.home (Scott Lurndal) - 2017-05-09 14:59 +0000
      Re: Printing like palindrome Keith Thompson <kst-u@mib.org> - 2017-05-09 08:27 -0700
      Re: Printing like palindrome Barry Schwarz <schwarzb@dqel.com> - 2017-05-09 10:40 -0700
  Re: Printing like palindrome scott@slp53.sl.home (Scott Lurndal) - 2017-05-09 14:38 +0000
    Re: Printing like palindrome Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-09 22:48 +0100
      Re: Printing like palindrome scott@slp53.sl.home (Scott Lurndal) - 2017-05-10 13:21 +0000
        Re: Printing like palindrome Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-05-10 15:45 +0100
        Re: Printing like palindrome Barry Schwarz <schwarzb@dqel.com> - 2017-05-10 10:26 -0700
  Re: Printing like palindrome bartc <bc@freeuk.com> - 2017-05-09 21:28 +0100
    Re: Printing like palindrome raltbos@xs4all.nl (Richard Bos) - 2017-05-10 10:27 +0000
    Re: Printing like palindrome Chad <cdalten@gmail.com> - 2017-05-10 10:39 -0700
  Re: Printing like palindrome bartc <bc@freeuk.com> - 2017-05-10 12:54 +0100
  Printing like palindrome asetofsymbols@gmail.com - 2017-05-12 02:32 -0700

csiph-web