/*

$Id: dkm,v 1.4 1999/10/10 13:02:52 joseph Exp $

*/

#include <stdio.h>
#include <string.h>
#include "dkm.h"

void dkm_to_str(char *buffer, int value)
{
  char suffix[2] = {0, 0};
  int remainder = -1;

  if (value > 10240 * 1024)
  {
    remainder = (value % (1024 * 1024)) / 1024;
    value /= 1024 * 1024;
    suffix[0] = 'M';
  }
  else if (value > 10240)
  {
    remainder = value % 1024;
    value /= 1024;
    suffix[0] = 'K';
  }
  sprintf(buffer, "%d", value);
  if (value < 100 && remainder != -1)
    sprintf(buffer + strlen(buffer), ".%d", (remainder * 10) / 1024);
  if (suffix[0])
    strcat(buffer, suffix);
}
