Subversion Repositories SvarDOS

Compare Revisions

Ignore whitespace Rev 425 → Rev 426

/svarcom/trunk/cmd/chcp.c
50,7 → 50,7
/* one param? must be numeric in range 1+ */
if (p->argc == 1) {
unsigned char nlsfuncflag = 0;
if (atouns(&nnn, p->argv[0]) != 0) {
if (atous(&nnn, p->argv[0]) != 0) {
outputnl("Invalid code page number");
return(-1);
}
/svarcom/trunk/cmd/dir.c
288,7 → 288,7
output(buff2);
 
/* one space and NLS TIME */
nls_format_time(buff2 + 1, dta->time_hour, dta->time_min, nls);
nls_format_time(buff2 + 1, dta->time_hour, dta->time_min, 0xff, nls);
outputnl(buff2);
break;
 
/svarcom/trunk/command.c
94,7 → 94,7
cfg->locate = 1;
}
if (strstartswith(argv[i], "/e:") == 0) {
if ((atouns(&(cfg->envsiz), argv[i] + 3) != 0) || (cfg->envsiz < 64)) {
if ((atous(&(cfg->envsiz), argv[i] + 3) != 0) || (cfg->envsiz < 64)) {
cfg->envsiz = 0;
}
}
/svarcom/trunk/helpers.c
330,7 → 330,7
 
 
/* converts an ASCIIZ string into an unsigned short. returns 0 on success. */
int atouns(unsigned short *r, const char *s) {
int atous(unsigned short *r, const char *s) {
int err = 0;
 
_asm {
472,24 → 472,38
}
 
 
/* computes a formatted time based on NLS patterns found in p
/* computes a formatted time based on NLS patterns found in p, sc are ignored if set 0xff
* returns length of result */
unsigned short nls_format_time(char *s, unsigned char ho, unsigned char mn, const struct nls_patterns *p) {
char ampm[2] = {0, 0};
const char *fmt = "%02u%s%02u%s";
unsigned short nls_format_time(char *s, unsigned char ho, unsigned char mn, unsigned char sc, const struct nls_patterns *p) {
char ampm = 0;
unsigned short res;
 
if (p->timefmt == 0) {
if (ho == 12) {
ampm[0] = 'p';
ampm = 'p';
} else if (ho > 12) {
ho -= 12;
ampm[0] = 'p';
ampm = 'p';
} else { /* ho < 12 */
if (ho == 0) ho = 12;
ampm[0] = 'a';
ampm = 'a';
}
fmt = "%2u%s%02u%s";
res = sprintf(s, "%2u", ho);
} else {
res = sprintf(s, "%02u", ho);
}
return(sprintf(s, fmt, ho, p->timesep, mn, ampm));
 
/* append separator and minutes */
res += sprintf(s + res, "%s%02u", p->timesep, mn);
 
/* if seconds provided, append them, too */
if (sc != 0xff) res += sprintf(s + res, "%s%02u", p->timesep, sc);
 
/* finally append AM/PM char */
if (ampm != 0) s[res++] = ampm;
s[res] = 0;
 
return(res);
}
 
 
/svarcom/trunk/helpers.h
140,7 → 140,7
void file_fcb2fname(char *dst, const char *src);
 
/* converts an ASCIIZ string into an unsigned short. returns 0 on success. */
int atouns(unsigned short *r, const char *s);
int atous(unsigned short *r, const char *s);
 
/* appends a backslash if path is a directory
* returns the (possibly updated) length of path */
157,9 → 157,9
* returns length of result */
unsigned short nls_format_date(char *s, unsigned short yr, unsigned char mo, unsigned char dy, const struct nls_patterns *p);
 
/* computes a formatted time based on NLS patterns found in p
/* computes a formatted time based on NLS patterns found in p, sc are ignored if set 0xff
* returns length of result */
unsigned short nls_format_time(char *s, unsigned char ho, unsigned char mn, const struct nls_patterns *p);
unsigned short nls_format_time(char *s, unsigned char ho, unsigned char mn, unsigned char sc, const struct nls_patterns *p);
 
/* computes a formatted integer number based on NLS patterns found in p
* returns length of result */