Commit 493a6480755ed4d6b30ca35c946eeac924e48ab0

Authored by perry.werneck@gmail.com
1 parent 320b3075

Melhorando retornos de erro nas funções que obtem strings da tela

Showing 1 changed file with 13 additions and 7 deletions   Show diff stats
src/plugins/hllapi/calls.c
... ... @@ -219,7 +219,7 @@
219 219  
220 220 if(!ptr)
221 221 {
222   - trace(stderr,"Can´t load \"%s\"\n",entry_point[f].name);
  222 + trace("Can´t load \"%s\"\n",entry_point[f].name);
223 223 hllapi_deinit();
224 224 return -ENOENT;
225 225 }
... ... @@ -359,15 +359,18 @@
359 359  
360 360 trace(" text=%p errno=%d %s\n",text,errno,strerror(errno));
361 361  
362   - if(!text)
363   - return HLLAPI_STATUS_SYSTEM_ERROR;
  362 + if(!text)
  363 + {
  364 + int rc = hllapi_get_state();
  365 + return rc == HLLAPI_STATUS_SUCCESS ? -1 : rc;
  366 + }
364 367  
365 368 strncpy(buffer,text,len);
366 369 release_memory(text);
367 370  
368 371 trace("text:\n%s\n",buffer);
369 372  
370   - return 0;
  373 + return HLLAPI_STATUS_SUCCESS;
371 374 }
372 375  
373 376 __declspec (dllexport) DWORD __stdcall hllapi_enter(void)
... ... @@ -439,7 +442,7 @@
439 442 __declspec (dllexport) DWORD __stdcall hllapi_getcursor()
440 443 {
441 444 if(!(getcursor && hSession))
442   - return -EINVAL;
  445 + return HLLAPI_STATUS_SYSTEM_ERROR;
443 446 return getcursor(hSession)+1;
444 447 }
445 448  
... ... @@ -453,13 +456,16 @@
453 456  
454 457 text = hllapi_get_string(offset, szBuffer);
455 458 if(!text)
456   - return HLLAPI_STATUS_SYSTEM_ERROR;
  459 + {
  460 + int rc = hllapi_get_state();
  461 + return rc == HLLAPI_STATUS_SUCCESS ? -1 : rc;
  462 + }
457 463  
458 464 memcpy(buffer,text,len);
459 465  
460 466 hllapi_free(text);
461 467  
462   - return 0;
  468 + return HLLAPI_STATUS_SUCCESS;
463 469 }
464 470  
465 471 __declspec (dllexport) DWORD __stdcall hllapi_emulate_input(LPSTR buffer, WORD len, WORD pasting)
... ...