Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. The Weird and The Wonderful
  4. Bug of the day

Bug of the day

Scheduled Pinned Locked Moved The Weird and The Wonderful
help
37 Posts 23 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Klaus Werner Konrad

    Wich compiler ?

    while (*dest++ = *source++);

    is completely correct, isn't it ?

    L Offline
    L Offline
    Lutoslaw
    wrote on last edited by
    #28

    Klaus-Werner Konrad wrote:

    Wich compiler?

    FTFY: Witch compiler Actually, in this case the C# produces three useless wormings: both for the "while(...);" (an empty statment), "x=y" (an assigment instead of a comparison) and the "*" (an "unsafe" code), does it?

    Greetings - Jacek

    K B 2 Replies Last reply
    0
    • R Ravi Bhavnani

      Does that even compile? /ravi

      My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

      T Offline
      T Offline
      Thomas Daniels
      wrote on last edited by
      #29

      No, it doesn't. But that's just the bug: it doesn't compile! [EDIT] I'm sorry, I didn't see the semicolon after the if statement. That's the bug! :doh:

      The quick red ProgramFOX jumps right over the Lazy<Dog>. My latest article: Understand how bitwise operators work (C# and VB.NET examples) My group: C# Programmers Group

      1 Reply Last reply
      0
      • L Lutoslaw

        Klaus-Werner Konrad wrote:

        Wich compiler?

        FTFY: Witch compiler Actually, in this case the C# produces three useless wormings: both for the "while(...);" (an empty statment), "x=y" (an assigment instead of a comparison) and the "*" (an "unsafe" code), does it?

        Greetings - Jacek

        K Offline
        K Offline
        Klaus Werner Konrad
        wrote on last edited by
        #30

        Thanks for the correction. My example was - as a reply to the mention of C, of course a C code snippet, and is the full working function body for strcpy(). Of course, it's unsafe - but lightning fast :-)

        B 1 Reply Last reply
        0
        • L Lutoslaw

          Klaus-Werner Konrad wrote:

          Wich compiler?

          FTFY: Witch compiler Actually, in this case the C# produces three useless wormings: both for the "while(...);" (an empty statment), "x=y" (an assigment instead of a comparison) and the "*" (an "unsafe" code), does it?

          Greetings - Jacek

          B Offline
          B Offline
          BobJanova
          wrote on last edited by
          #31

          They're not useless warnings, they're warning you that you did something unintended. Actually this wouldn't compile at all in C#, even with unsafe mode turned on, because the result type isn't boolean. It's a classic and well known piece of C code, and I think you only got a warning for the empty loop body (and if you did if(a = 3) by accident you were just screwed, hence writing if(3 == a) instead which is an error if you screw it up).

          L 1 Reply Last reply
          0
          • K Klaus Werner Konrad

            Thanks for the correction. My example was - as a reply to the mention of C, of course a C code snippet, and is the full working function body for strcpy(). Of course, it's unsafe - but lightning fast :-)

            B Offline
            B Offline
            BobJanova
            wrote on last edited by
            #32

            Just in case you didn't get the joke there, he's making a funny about the compiler being witchcraft. The word you meant to use is 'which'.

            1 Reply Last reply
            0
            • B BobJanova

              They're not useless warnings, they're warning you that you did something unintended. Actually this wouldn't compile at all in C#, even with unsafe mode turned on, because the result type isn't boolean. It's a classic and well known piece of C code, and I think you only got a warning for the empty loop body (and if you did if(a = 3) by accident you were just screwed, hence writing if(3 == a) instead which is an error if you screw it up).

              L Offline
              L Offline
              Lutoslaw
              wrote on last edited by
              #33

              Right. :thumbsup:

              Greetings - Jacek

              1 Reply Last reply
              0
              • D Delphi4ever

                if(SomeThing == SomeOtherThing); { DoSomeThing; } This one has been sitting in the codebase for a couple of years... :(( At least it did SomeThing...

                A Offline
                A Offline
                Adam David Hill
                wrote on last edited by
                #34

                Ooh, nasty! Couldn't see it at first.

                Check out my latest article: Celerity: How it was all done. A complete how-to on our sensor-driven head-tracking virtual reality tunnel game in C#.

                1 Reply Last reply
                0
                • D Delphi4ever

                  if(SomeThing == SomeOtherThing); { DoSomeThing; } This one has been sitting in the codebase for a couple of years... :(( At least it did SomeThing...

                  M Offline
                  M Offline
                  Marc Clifton
                  wrote on last edited by
                  #35

                  Delphi4ever wrote:

                  if(SomeThing == SomeOtherThing);

                  I remember years ago spending a few hours debugging why (in C++):

                  for (int i=0; i<10; i++);
                  DoSomething();

                  where DoSomething executed only once. I only had to learn that lesson once! :rolleyes: Marc

                  Testers Wanted!
                  Latest Article: User Authentication on Ruby on Rails - the definitive how to
                  My Blog

                  1 Reply Last reply
                  0
                  • G Gary Wheeler

                    I've worked with people who did this:

                    if condition
                    DoSomething();
                    else
                    {
                    DoOtherThing1();
                    DoOtherThing2();
                    }

                    or

                    if condition
                    {
                    DoSomething1();
                    DoSomething2();
                    }
                    else
                    DoOtherThing();

                    Both of which give me the creeping heebie-jeebies.

                    Software Zen: delete this;

                    C Offline
                    C Offline
                    cjb110
                    wrote on last edited by
                    #36

                    oh, urm, oops? I do that...

                    G 1 Reply Last reply
                    0
                    • C cjb110

                      oh, urm, oops? I do that...

                      G Offline
                      G Offline
                      Gary Wheeler
                      wrote on last edited by
                      #37

                      It's valid syntax, and if you're confident that you'll never ever forget to add or remove braces appropriately, go for it.

                      Software Zen: delete this;

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups