# 1.8.0alpha3 delete_verb() bug and patch

Pavel Curtis (pavel@parc.xerox.com)
Thu, 28 Dec 1995 09:17:19 PST

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    sysop@calbbs.com writes:
    > There is a bug in verbs.c - bf_delete_verb() that prevented the builtin
    > function delete_verb() from doing very much. (Version 1.8.0alpha3)
    >
    > Replace the following code in the bf_delete_verb() function in verbs.c:
    >
    >     if ((e = validate_verb_descriptor(desc)) != E_NONE)
    >         /* Do nothing; e is already set. */
    >     if (!valid(oid))
    >         e = E_INVARG;
    >     else if (!db_object_allows(oid, progr, FLAG_WRITE))
    >         e = E_PERM;
    >     else {
    >         h = find_described_verb(oid, desc);
    >         if (h.ptr)
    >             db_delete_verb(h);
    >         else
    >             e = E_VERBNF;
    >     }

    The simpler fix for this typo is to change the second and third lines of this
    as follows:

          if ((e = validate_verb_descriptor(desc)) != E_NONE)
              ;				/* Do nothing; e is already set. */
          else if (!valid(oid))

    Just amazing how important a semicolon (and `else') can be sometimes... :-/

    	Pavel