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


Groups > comp.lang.c > #120454

Re: Set the result of void function

Path csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Set the result of void function
Date Thu, 28 Sep 2017 09:25:25 -0700
Organization None to speak of
Lines 38
Message-ID <ln60c2yemi.fsf@kst-u.example.com> (permalink)
References <fafcddea-dda4-4e4e-8475-496c0e4bfcf0@googlegroups.com> <oqb28b$eek$1@dont-email.me> <001b7bdd-f28a-4747-80da-81404481b320@googlegroups.com> <74b5ddce-96ec-48aa-a16c-a5a4207c17fe@googlegroups.com> <lnmv5i22z2.fsf@kst-u.example.com> <9546ff45-2666-4f32-8905-8d4baba8a74d@googlegroups.com> <877ewm1ook.fsf@bsb.me.uk> <65ac971c-10a1-41b1-876d-cdded04ea432@googlegroups.com> <oqfgaq$b8q$1@dont-email.me> <lntvzoyv6u.fsf@kst-u.example.com> <xFQyB.1218936$tN5.1165921@fx27.am4> <lnh8voyq2d.fsf@kst-u.example.com> <QzSyB.796199$uh.155860@fx28.am4> <ln1smsymbr.fsf@kst-u.example.com> <C6TyB.1386148$py6.1076342@fx22.am4> <6308c8a5-6a1e-4667-bac4-1cdaf18e7e55@googlegroups.com> <ueUyB.1549783$WI6.1384739@fx30.am4> <oqi94p$jl4$1@dont-email.me> <ej6zB.1196081$ik4.742321@fx38.am4> <oqj43k$g9l$1@dont-email.me> <4c1bbda7-bee7-4dac-b9a1-7e2bd2d3486b@googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset=us-ascii
Injection-Info reader02.eternal-september.org; posting-host="f02d66d70d400004528cf8384483c39b"; logging-data="2037"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX180Jew7xdOtis0RoT/o0dcG"
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
Cancel-Lock sha1:PJXPvEx8IleSzbOdx1a0thrKZsM= sha1:QAY+ANh2cjTVhyR+eqfOPbCPjFc=
Xref csiph.com comp.lang.c:120454

Show key headers only | View raw


Malcolm McLean <malcolm.arthur.mclean@gmail.com> writes:
[...]
> Consider this
>
> /*
>    DNA base pairing partner
> */
> char partner(char base)
> {
>    switch(base)
>    {
>       case 'A' : return 'T';
>       case 'C' : return 'G';
>       case 'G': return 'C':
>      case 'T': return 'A':
>      default: assert(0);
>    }
> }
>
> The function cannot legitimately be called with anything other
> than one of the four DNA bases. But it isn't clear what it should
> do if assertions are turned off. Returning garbage is probably
> a reasonable answer. If we return 0 people might start relying
> on the behaviour and mis-use the function as an "isDNABase().

I might consider adding `return '?';` after the assert, so that
when NDEBUG is defined errors show consistent symptoms.  Seeing '?'
in the output is a clue that soomething is wrong.

On the other hand, leaving off the return means that a sufficiently
clever compiler might be able to diagnose some such errors at compile
time.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

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


Thread

Set the result of void function Thiago Adams <thiago.adams@gmail.com> - 2017-09-19 14:23 -0700
  Re: Set the result of void function Thiago Adams <thiago.adams@gmail.com> - 2017-09-19 14:38 -0700
    Re: Set the result of void function gordonb.tfand@burditt.org (Gordon Burditt) - 2017-09-19 17:16 -0500
    Re: Set the result of void function "Pascal J. Bourguignon" <pjb@informatimago.com> - 2017-09-20 00:39 +0200
      Re: Set the result of void function James Kuyper <jameskuyper@verizon.net> - 2017-09-19 22:06 -0400
        Re: Set the result of void function "Pascal J. Bourguignon" <pjb@informatimago.com> - 2017-09-20 06:51 +0200
          Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-20 10:55 +0100
            Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-20 12:11 +0100
            Re: Set the result of void function fir <profesor.fir@gmail.com> - 2017-09-20 07:17 -0700
          Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-20 11:28 +0100
          Re: Set the result of void function mark.bluemel@gmail.com - 2017-09-20 03:30 -0700
            Re: Set the result of void function fir <profesor.fir@gmail.com> - 2017-09-20 06:53 -0700
              Re: Set the result of void function Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-09-21 03:50 -0500
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-21 11:00 +0100
                Re: Set the result of void function scott@slp53.sl.home (Scott Lurndal) - 2017-09-21 12:39 +0000
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-21 14:12 +0100
                Re: Set the result of void function scott@slp53.sl.home (Scott Lurndal) - 2017-09-21 13:51 +0000
                Re: Set the result of void function Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2017-09-21 08:36 -0600
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-21 17:51 +0100
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-21 10:06 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-22 08:51 +0200
                Plunging innocent people into poverty (Was: Set the result of void function) gazelle@shell.xmission.com (Kenny McCormack) - 2017-09-23 09:31 +0000
                Re: Plunging innocent people into poverty (Was: Set the result of void function) David Brown <david.brown@hesbynett.no> - 2017-09-23 12:09 +0200
                Re: Plunging innocent people into poverty (Was: Set the result of void function) gazelle@shell.xmission.com (Kenny McCormack) - 2017-09-23 10:25 +0000
                Re: Plunging innocent people into poverty Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2017-09-23 10:43 -0600
                Re: Plunging innocent people into poverty supercat@casperkitty.com - 2017-09-23 10:41 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-22 09:37 +0200
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-22 11:27 +0100
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-22 14:42 +0200
                Re: Set the result of void function Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-09-24 12:09 +0000
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-25 08:31 +0200
                Re: Set the result of void function Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-09-25 03:52 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-25 13:25 +0200
                Re: Set the result of void function Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-09-25 04:58 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-25 14:20 +0200
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-25 13:44 +0100
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-25 15:09 +0200
                Re: Set the result of void function Thiago Adams <thiago.adams@gmail.com> - 2017-09-25 05:44 -0700
                Re: Set the result of void function Thiago Adams <thiago.adams@gmail.com> - 2017-09-25 05:58 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-25 15:15 +0200
                Re: Set the result of void function Thiago Adams <thiago.adams@gmail.com> - 2017-09-25 06:46 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-25 16:01 +0200
                Re: Set the result of void function Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-09-25 07:18 -0700
                Re: Set the result of void function Thiago Adams <thiago.adams@gmail.com> - 2017-09-25 07:55 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-25 08:49 -0700
                Re: Set the result of void function Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-09-25 09:21 -0700
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-25 09:51 -0700
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-25 21:57 +0100
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-25 15:03 -0700
                Re: Set the result of void function Öö Tiib <ootiib@hot.ee> - 2017-09-25 21:34 -0700
                Re: Set the result of void function Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-09-26 04:28 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-27 08:26 +0200
                Re: Set the result of void function "James R. Kuyper" <jameskuyper@verizon.net> - 2017-09-27 11:48 -0400
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 08:54 +0200
                Re: Set the result of void function gordonb.iddsu@burditt.org (Gordon Burditt) - 2017-09-28 23:33 -0500
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-27 09:15 -0700
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-27 17:50 +0100
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-27 10:35 -0700
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-27 18:47 +0100
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-27 10:52 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-27 11:10 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 09:10 +0200
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-27 11:06 -0700
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-27 20:01 +0100
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-27 12:26 -0700
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-27 20:38 +0100
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-27 13:00 -0700
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-27 21:54 +0100
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-27 14:12 -0700
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-27 14:34 -0700
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-27 23:16 +0100
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-27 16:09 -0700
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-28 01:12 +0100
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-28 02:03 +0100
                Re: Set the result of void function Ian Collins <ian-news@hotmail.com> - 2017-09-28 17:31 +1300
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 09:55 +0200
                Re: Set the result of void function Ian Collins <ian-news@hotmail.com> - 2017-09-28 21:00 +1300
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-28 10:48 +0100
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 13:20 +0200
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-28 11:29 +0100
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-27 20:27 -0700
                Re: Set the result of void function Gareth Owen <gwowen@gmail.com> - 2017-09-29 19:30 +0100
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-29 19:45 +0100
                Re: Set the result of void function Jerry Stuckle <jstucklex@attglobal.net> - 2017-09-29 14:49 -0400
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-27 15:07 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 09:42 +0200
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-28 13:55 +0100
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 17:22 +0200
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 09:14 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 20:13 +0200
                Re: Set the result of void function Gareth Owen <gwowen@gmail.com> - 2017-09-29 19:42 +0100
                Re: Set the result of void function Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-09-28 09:14 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 09:25 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 20:17 +0200
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-28 17:39 +0100
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-28 10:10 -0700
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-28 19:05 +0100
                Re: Set the result of void function "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2017-09-28 14:20 -0400
                Re: Set the result of void function Ian Collins <ian-news@hotmail.com> - 2017-09-29 07:52 +1300
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-28 11:59 -0700
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-28 18:50 +0100
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-28 19:47 +0100
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 21:57 +0200
                Re: Set the result of void function "James R. Kuyper" <jameskuyper@verizon.net> - 2017-09-28 16:14 -0400
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-28 13:17 -0700
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-28 21:23 +0100
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 13:55 -0700
                Re: Set the result of void function Gareth Owen <gwowen@gmail.com> - 2017-09-29 19:50 +0100
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-28 13:57 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-28 23:18 +0200
                Re: Set the result of void function "James R. Kuyper" <jameskuyper@verizon.net> - 2017-09-28 17:38 -0400
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-28 15:54 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-29 08:59 +0200
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 14:43 -0700
                Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-29 10:43 +0200
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-29 07:43 -0700
                Re: Set the result of void function Gareth Owen <gwowen@gmail.com> - 2017-09-30 19:21 +0100
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-30 19:45 +0100
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 13:31 -0700
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-28 13:41 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 14:07 -0700
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 16:25 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 18:45 -0700
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 19:54 -0700
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-28 20:51 -0700
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-28 22:39 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-29 09:16 -0700
                Re: Set the result of void function gazelle@shell.xmission.com (Kenny McCormack) - 2017-09-29 16:17 +0000
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-29 11:05 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-29 11:23 -0700
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-29 12:15 -0700
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-29 16:04 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-29 16:44 -0700
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-30 10:04 -0700
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-30 10:33 -0700
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-29 11:26 -0700
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-29 16:03 -0700
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-29 09:44 -0700
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-29 11:15 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-29 11:35 -0700
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-29 16:11 -0700
                Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-29 16:14 -0700
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-30 08:55 -0700
                Re: Set the result of void function jameskuyper@verizon.net - 2017-09-29 11:36 -0700
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-29 12:05 +0100
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-29 12:17 +0100
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-29 09:15 -0700
                Re: Set the result of void function Ian Collins <ian-news@hotmail.com> - 2017-09-29 09:42 +1300
                Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-28 21:55 +0100
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 14:12 -0700
                Re: Set the result of void function "James R. Kuyper" <jameskuyper@verizon.net> - 2017-09-28 17:22 -0400
                Re: Set the result of void function Gareth Owen <gwowen@gmail.com> - 2017-09-29 19:50 +0100
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 09:00 -0700
                Re: Set the result of void function supercat@casperkitty.com - 2017-09-28 09:35 -0700
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-28 10:57 -0700
                Re: Set the result of void function Thiago Adams <thiago.adams@gmail.com> - 2017-09-25 10:35 -0700
                Re: Set the result of void function Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-09-25 06:57 -0700
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-25 16:32 +0100
                Re: Set the result of void function Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2017-09-25 08:43 -0700
                Re: Set the result of void function Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-09-25 22:12 +0100
                Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-25 09:03 -0700
                Re: Set the result of void function Jorgen Grahn <grahn+nntp@snipabacken.se> - 2017-09-25 14:17 +0000
          Re: Set the result of void function "James R. Kuyper" <jameskuyper@verizon.net> - 2017-09-20 11:32 -0400
        Re: Set the result of void function fir <profesor.fir@gmail.com> - 2017-09-20 01:50 -0700
          Re: Set the result of void function David Kleinecke <dkleinecke@gmail.com> - 2017-09-20 15:56 -0700
  Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-19 23:01 +0100
    Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-20 15:40 +0200
      Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-20 08:50 -0700
        Re: Set the result of void function David Brown <david.brown@hesbynett.no> - 2017-09-20 22:52 +0200
          Re: Set the result of void function supercat@casperkitty.com - 2017-09-20 15:04 -0700
    Re: Set the result of void function supercat@casperkitty.com - 2017-09-20 07:39 -0700
  Re: Set the result of void function jameskuyper@verizon.net - 2017-09-19 15:18 -0700
    Re: Set the result of void function bartc <bc@freeuk.com> - 2017-09-20 01:21 +0100
      Re: Set the result of void function jameskuyper@verizon.net - 2017-09-19 19:40 -0700
  Re: Set the result of void function rockbrentwood@gmail.com - 2017-09-19 16:36 -0700
    Re: Set the result of void function James Kuyper <jameskuyper@verizon.net> - 2017-09-19 22:13 -0400
    Re: Set the result of void function gazelle@shell.xmission.com (Kenny McCormack) - 2017-09-22 01:48 +0000
  Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-19 19:36 -0700
  Re: Set the result of void function mark.bluemel@gmail.com - 2017-09-20 01:00 -0700
    Re: Set the result of void function fir <profesor.fir@gmail.com> - 2017-09-20 02:01 -0700
  Re: Set the result of void function Keith Thompson <kst-u@mib.org> - 2017-09-20 08:36 -0700
  Re: Set the result of void function "James R. Kuyper" <jameskuyper@verizon.net> - 2017-09-20 11:36 -0400
  Re: Set the result of void function John Bode <jfbode1029@gmail.com> - 2017-09-20 15:30 -0700

csiph-web