Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/console/console.c

    r11527051 re3a050c7  
    5252#include <errno.h>
    5353#include <str.h>
    54 #include <abi/klog.h>
    5554
    5655#define KLOG_PAGES    8
     
    336335 *
    337336 */
    338 sysarg_t sys_klog(int cmd, const void *buf, size_t size)
     337sysarg_t sys_klog(int fd, const void *buf, size_t size)
    339338{
    340339        char *data;
    341340        int rc;
    342 
    343         switch (cmd) {
    344         case KLOG_UPDATE:
    345                 klog_update(NULL);
    346                 return EOK;
    347         case KLOG_WRITE:
    348         case KLOG_COMMAND:
    349                 break;
    350         default:
    351                 return ENOTSUP;
    352         }
    353 
     341       
    354342        if (size > PAGE_SIZE)
    355343                return (sysarg_t) ELIMIT;
     
    367355                data[size] = 0;
    368356               
    369                 switch (cmd) {
    370                 case KLOG_WRITE:
    371                         printf("%s", data);
    372                         break;
    373                 case KLOG_COMMAND:
    374                         if (!stdin)
    375                                 break;
    376                         for (unsigned int i = 0; i < size; i++)
    377                                 indev_push_character(stdin, data[i]);
    378                         indev_push_character(stdin, '\n');
    379                         break;
    380                 }
    381 
     357                printf("%s", data);
    382358                free(data);
    383         }
    384 
     359        } else
     360                klog_update(NULL);
     361       
    385362        return size;
    386363}
Note: See TracChangeset for help on using the changeset viewer.