typestar

Cláusulas de guarda en C

Validar arriba y retornar temprano, para que al cuerpo no le quede anidamiento.

int copy_bounded(char *dst, size_t cap, const char *src, size_t *written) {
    if (dst == NULL || src == NULL || cap == 0) {
        return 0;
    }
    size_t n = strlen(src);
    if (n + 1 > cap) {
        return 0;
    }
    memcpy(dst, src, n + 1);
    if (written != NULL) {
        *written = n;
    }
    return 1;
}

Cómo funciona

  1. Un chequeo de NULL en la entrada le gana a un crash en lo profundo.
  2. Los retornos tempranos mantienen la ruta feliz a un solo nivel de sangría.
  3. Los chequeos documentan de paso el contrato.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
264
Tokens
94
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 56 segundos.

Escribe este fragmento

Paso 2 de 4 en Firmas; paso 2 de 11 en APIs, errores y pruebas.

← Anterior Siguiente →