Changeset b7be230 in mainline for uspace/app/bdsh/cmds/modules/cp/cp.c


Ignore:
Timestamp:
2009-01-22T17:11:54Z (15 years ago)
Author:
Tim Post <echo@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bffd91f
Parents:
bf226890
Message:

Stop using assert() in modules/builtins as abort() will crash the entire shell.
Handle the case and report the issue, leaving the user able to reproduce it
without rebooting.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bdsh/cmds/modules/cp/cp.c

    rbf226890 rb7be230  
    3535#include <string.h>
    3636#include <fcntl.h>
    37 #include <assert.h>
    3837#include "config.h"
    3938#include "util.h"
     
    125124                        res -= bytes;
    126125                } while (res > 0);
    127                 assert(res == 0);
     126
     127                /* TODO: re-insert assert() once this is stand alone,
     128                 * removed as abort() exits the entire shell
     129                 */
     130                if (res != 0) {
     131                        printf("\n%d more bytes than actually exist were copied\n", res);
     132                        goto err;
     133                }
    128134        }
    129135
    130136        if (bytes < 0) {
    131137err:
    132                 printf("Error copying %s, (%d)\n", src, bytes);
     138                printf("\nError copying %s, (%d)\n", src, bytes);
    133139                copied = bytes;
    134140        }
Note: See TracChangeset for help on using the changeset viewer.