Marco G. Salvagno's OS/2 fixes
This commit is contained in:
Родитель
35140201b5
Коммит
ff3fd842d8
|
@ -118,10 +118,10 @@ UrgError file(struct UrlData *data, char *path, long *bytecountp)
|
||||||
int fd;
|
int fd;
|
||||||
char *actual_path = curl_unescape(path);
|
char *actual_path = curl_unescape(path);
|
||||||
|
|
||||||
#ifdef WIN32
|
#if defined(WIN32) || defined(__EMX__)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* change path separators from '/' to '\\' for Windows */
|
/* change path separators from '/' to '\\' for Windows and OS/2 */
|
||||||
for (i=0; actual_path[i] != '\0'; ++i)
|
for (i=0; actual_path[i] != '\0'; ++i)
|
||||||
if (actual_path[i] == '/')
|
if (actual_path[i] == '/')
|
||||||
actual_path[i] = '\\';
|
actual_path[i] = '\\';
|
||||||
|
|
|
@ -76,7 +76,9 @@ char *getpass(const char *prompt)
|
||||||
FILE *outfp;
|
FILE *outfp;
|
||||||
static char buf[INPUT_BUFFER];
|
static char buf[INPUT_BUFFER];
|
||||||
RETSIGTYPE (*sigint)();
|
RETSIGTYPE (*sigint)();
|
||||||
|
#ifndef __EMX__
|
||||||
RETSIGTYPE (*sigtstp)();
|
RETSIGTYPE (*sigtstp)();
|
||||||
|
#endif
|
||||||
size_t bytes_read;
|
size_t bytes_read;
|
||||||
int infd;
|
int infd;
|
||||||
int outfd;
|
int outfd;
|
||||||
|
@ -92,7 +94,11 @@ char *getpass(const char *prompt)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
sigint = signal(SIGINT, SIG_IGN);
|
sigint = signal(SIGINT, SIG_IGN);
|
||||||
|
/* 20000318 mgs
|
||||||
|
* this is needed by the emx system, SIGTSTP is not a supported signal */
|
||||||
|
#ifndef __EMX__
|
||||||
sigtstp = signal(SIGTSTP, SIG_IGN);
|
sigtstp = signal(SIGTSTP, SIG_IGN);
|
||||||
|
#endif
|
||||||
|
|
||||||
if( (infp=fopen("/dev/tty", "r")) == NULL )
|
if( (infp=fopen("/dev/tty", "r")) == NULL )
|
||||||
{
|
{
|
||||||
|
|
|
@ -48,6 +48,13 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* 20000318 mgs
|
||||||
|
* later we use _scrsize to determine the screen width, this emx library
|
||||||
|
* function needs stdlib.h to be included */
|
||||||
|
#if defined(__EMX__)
|
||||||
|
#include <stdlib.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <curl/curl.h>
|
#include <curl/curl.h>
|
||||||
#include "urldata.h"
|
#include "urldata.h"
|
||||||
|
|
||||||
|
@ -365,6 +372,11 @@ static int width = 0;
|
||||||
|
|
||||||
void ProgressInit(struct UrlData *data, int max/*, int options, int moremax*/)
|
void ProgressInit(struct UrlData *data, int max/*, int options, int moremax*/)
|
||||||
{
|
{
|
||||||
|
#ifdef __EMX__
|
||||||
|
/* 20000318 mgs */
|
||||||
|
int scr_size [2];
|
||||||
|
#endif
|
||||||
|
|
||||||
if(data->conf&(CONF_NOPROGRESS|CONF_MUTE))
|
if(data->conf&(CONF_NOPROGRESS|CONF_MUTE))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -372,10 +384,25 @@ void ProgressInit(struct UrlData *data, int max/*, int options, int moremax*/)
|
||||||
|
|
||||||
/* TODO: get terminal width through ansi escapes or something similar.
|
/* TODO: get terminal width through ansi escapes or something similar.
|
||||||
try to update width when xterm is resized... - 19990617 larsa */
|
try to update width when xterm is resized... - 19990617 larsa */
|
||||||
|
#ifndef __EMX__
|
||||||
|
/* 20000318 mgs
|
||||||
|
* OS/2 users most likely won't have this env var set, and besides that
|
||||||
|
* we're using our own way to determine screen width */
|
||||||
if (curl_GetEnv("COLUMNS") != NULL)
|
if (curl_GetEnv("COLUMNS") != NULL)
|
||||||
width = atoi(curl_GetEnv("COLUMNS"));
|
width = atoi(curl_GetEnv("COLUMNS"));
|
||||||
else
|
else
|
||||||
width = 79;
|
width = 79;
|
||||||
|
#else
|
||||||
|
/* 20000318 mgs
|
||||||
|
* We use this emx library call to get the screen width, and subtract
|
||||||
|
* one from what we got in order to avoid a problem with the cursor
|
||||||
|
* advancing to the next line if we print a string that is as long as
|
||||||
|
* the screen is wide. */
|
||||||
|
|
||||||
|
_scrsize(scr_size);
|
||||||
|
width = scr_size[0] - 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
progressmax = max;
|
progressmax = max;
|
||||||
if(-1 == max)
|
if(-1 == max)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче