martes, 15 de marzo de 2005

Open Source Code

Una de las varias ventajas del software libre, es que puedes echar un ojo al código de tu programa favorito para ver cómo está programado. Los fines pueden ser múltiples: mejorarlo, retocarlo y por qué no, aprender cosas nuevas. Esta mañana, cierta persona, nos ha sugerido que echaramos un vistazo al código fuente del absurdo comando true de UNIX. ¿Los resultados? Muy curiosos (omitimos el nombre de los sitemas operativos)

Sistema Operativo A


/* Copyright (C) 1999-2003 Free Software Foundation, Inc. /*
#include "config.h"
#include "stdio.h"
#include "sys/types.h"
#include "system.h"

#define PROGRAM_NAME "true"
#define AUTHORS "Jim Meyering"

/* The name this program was run with. */
char *program_name;

void
usage (int status)
{
printf (_("\
Usage: %s [ignored command line arguments]\n\
or: %s OPTION\n\
Exit with a status code indicating success.\n\
\n\
These option names may not be abbreviated.\n\
\n\
"),
program_name, program_name);
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
exit (status);
}

int
main (int argc, char **argv)
{
initialize_main (&argc, &argv);
program_name = argv[0];
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);

atexit (close_stdout);

/* Recognize --help or --version only if it's the only command-line
argument and if POSIXLY_CORRECT is not set. */
if (argc == 2 && getenv ("POSIXLY_CORRECT") == NULL)
{
if (STREQ (argv[1], "--help"))
usage (EXIT_SUCCESS);

if (STREQ (argv[1], "--version"))
version_etc (stdout, PROGRAM_NAME, GNU_PACKAGE, VERSION, AUTHORS,
(char *) NULL);
}

exit (EXIT_SUCCESS);
}



Sistema Operativo B


/* The Regents of the University of California. All rights reserved.*/
#ifndef lint
static const char sccsid[] = "@(#)true.c 8.1 (Berkeley) 6/9/93";
#endif /* not lint */

int
main(void)
{
return 0;
}

No hay comentarios:

Publicar un comentario